Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Sinestro
Oct 31, 2010

The perfect day needs the perfect set of wheels.
I'm curious about people's experiences using Elm to develop a traditional website versus a 'web app', in terms of stuff like URLs and just general advice.

Adbot
ADBOT LOVES YOU

Sinestro
Oct 31, 2010

The perfect day needs the perfect set of wheels.
I was pretty sold on Elm, until I started to try and actually write stuff. I really hate the stupid "no typeclasses, if you really need it just pass an explicit record around!" poo poo. It's a functional language, it'll mostly be used by people that understand it, and if you don't dive right into monad bullshit, it's a pretty simple concept. I don't think that you should be programming if you can't understand the concept of a constraint.

Sinestro
Oct 31, 2010

The perfect day needs the perfect set of wheels.

HappyHippo posted:

Agreed. I also think the whole "no monads!!!" thing itself is pretty silly. They've reimplemented Applicative like half a dozen times in the core libraries, its ridiculous that there's so many versions of map/map2/map3/... when they could just define them once and be done with it. Is this because typeclasses are difficult to implement, or is this from the "for your own good" school of language design? Or are they just concerned that people will be turned off the language if it has monads in it?

Type classes are fairly simple, really. It was very hard to implement the first time, but they're fairly understood. It's mostly the last two, with a heavy lean on the first part because type classes are "too complicated" for front end developers.

Edit: This video explains things well. Elm doesn't want to be a functional programming language for the browser, it wants to make front end development better while being as mainstream as possible. I don't think this will work, and it's stupid to try and just ignore important features because they're "scary".

Sinestro fucked around with this message at 02:49 on Dec 31, 2015

Sinestro
Oct 31, 2010

The perfect day needs the perfect set of wheels.
There's also Vulkan bindings for Haskell and apparently people have done stuff to incorporate post OpenGL 3.0 style code into Haskell too. Vulkan is actually surprisingly nice to use from Haskell because it doesn't have all of the implicit state bullshit that OpenGL has.

Sinestro
Oct 31, 2010

The perfect day needs the perfect set of wheels.
Elm seems to be getting better and better at getting rid of everything that I like about it.

Sinestro
Oct 31, 2010

The perfect day needs the perfect set of wheels.
GHCJS is getting better and better, and I've really enjoyed working with Reflex.

Also, there's now DWARF debugging support in stack HEAD.

Sinestro fucked around with this message at 00:35 on Nov 28, 2016

Adbot
ADBOT LOVES YOU

Sinestro
Oct 31, 2010

The perfect day needs the perfect set of wheels.

xtal posted:

It 's awful, but maybe I can compile to C or an intermediate LLVM code and finish the process on the pi. The problem is that my build pipeline doesn't really support that.

You could rent some time on a fast ARM machine from Packet for 50 cents an hour, but I'm not familiar enough with GHC on ARM to tell you if you can make it work any better than full-on cross-compilation since it's going to be 64-bit.

  • Locked thread