Re:Faithful Elm and the Amazing Router
by not-much-io on Thursday June 16, 2016 @09:57AM
(#11916096)
From what I understand Elm is planned to target Node eventually. However the language is pretty young right now and the main work is going into making client side Elm the best it can be. The language author doesn't want to branch out too far.
[ Parent
| on HN ]
Not quite: It's planned to target Beam, Erlang's VM. It's an easy fit for Elm. Still, not going to get done any time soon.
Re:Faithful Elm and the Amazing Router
by ryanplant-au on Thursday June 16, 2016 @11:12AM
(#11916656)
Elm on Beam would be some kind of beautiful dream.
Re:Faithful Elm and the Amazing Router
by twoquestions on Thursday June 16, 2016 @11:06AM
(#11916625)
Do you have a source for this? I'd be interested in their reasoning.
You'd think Beam would be a very different compile target than JS, and it seems weird to make such a huge change without very good reason.
I think "massive concurrency" and "bulletproof uptimes" are pretty good reasons. Plus that would then allow Elm on both client and server.
The Elm folks have been fairly buddy-buddy with the Elixir/Phoenix folks, so this doesn't surprise me
Re:Faithful Elm and the Amazing Router
by twoquestions on Thursday June 16, 2016 @12:49PM
(#11917294)
That sounds amazing.
It makes my heart sing that a different VM than JVM or .Net is gaining more traction, and as a static types fan it makes me happy that a statically typed language may be getting on Beam.
Re:Faithful Elm and the Amazing Router
by adam_albrecht on Thursday June 16, 2016 @03:36PM
(#11918329)
Richard Feldman (who works with Evan Czaplicki at NoRedInk) mentioned it in the Elm slack channel.
http://i.imgur.com/pqk9oMl.png
It will definitely be a very different compile target. But Elm really doesn't take any inspiration from Javascript, so I don't think it will change much about the fundamentals of the language. Of course they'll need to add capabilities for concurrency, OTP, etc.
I think the compile target is basically not a big problem, and there's been explicit work to make the Browser just one Platform. Also, see the `Process` module in the core docs for a hint of the future, regardless of where it lands (this would also work well for WebWorkers etc, and is handled right now by a naive scheduler). Concern over the compile target should be super low - if you've built a language of sorts, you should have a feel for how it's not that big of a deal to tweak the target.