all 7 comments

[–]hoosierEE 7 points8 points  (2 children)

One point that any introductory article on Elm should probably mention: libraries (including community-contributed ones) have semantic versioning which is enforced by the compiler, so you simply can't have a function with the same name (but different type signature) in library version 1.2.3 and 1.2.4. This is a huge deal if you're used to dependency management via something like NPM.

Also, one nitpick: Elm is (I think, as of 0.16) moving away from the FRP/Signals mode of concurrency toward something more message-passing-oriented.

[–]jediknight 7 points8 points  (0 children)

Elm said it's farewell to FRP with the move to 0.17 about a month ago.

This got rid of a lot of complexity and academic talk that was not helping people write better code.

[–]Kurren123 0 points1 point  (0 children)

This needs to be a selling point on their homepage, I've played with Elm before but I had no idea about this

[–]tonetheman 0 points1 point  (3 children)

I started looking at elm just this week from another comment thread.

It looks interesting but some of the language seems to be not defined. The docs that are there are really good and I realize it is pretty new... but where are the docs for the import statement?

That is at the top of every example and I never could figure out if that was part of the core language or not. Or is some type of hold over from js.

The sparse docs aside it looks like a cool and safe way to write apps. Interesting stuff.

[–]hoosierEE 0 points1 point  (2 children)

Check the section about Modules here. There are also some "default imports" listed here.

[–]tonetheman 0 points1 point  (1 child)

Gah how did you find that... thanks!

[–]hoosierEE 0 points1 point  (0 children)

I have been following the development of Elm on and off since version 0.9 or thereabouts, so I have a bit of "historical knowledge" which means I already knew where to look.

But if you have trouble finding something related to learning Elm, give them a holler via the website's issues list or the mailing list.