Hacker News new | ask | show | jobs
by msangi 2848 days ago
I would be totally on board with these changes if an alternative way of doing things had been offered.

From the philosophical point of view they are exactly what is needed to allow Elm give as much guarantees as possible.

The sad reality is that very little pragmatism went into this release and now stuff like web-sockets won't work [1]. This is very surprising because web-sockets are an use case where the Elm-architecture really shines.

Things like this reinforces my idea that while Elm is a very nice language I wouldn't want to have it in production, or even in a side project, at least till it reaches 1.0 and becomes more stable.

[1] https://github.com/elm-lang/websocket/issues/27

3 comments

Not only it doesn't work in 0.19, but the README doesn't mention it, the issue is closed (making it difficult to find) and the Elm release notes/upgrade notes don't mention it.
> From the philosophical point of view they are exactly what is needed to allow Elm give as much guarantees as possible.

Pretty much every language falls apart when it comes to FFI. In Haskell, a foreign function `Int -> Int` can print to the terminal. That's just the way it goes.

Why can't this be done with ports?
I'm not sure. I haven't looked into the issue much.

In any case, I would expect web-sockets to work out out the box in a language that is specifically designed to run in the browser.

If that's not working I'm sure that less common parts of the web platform aren't supported either. Normally I wouldn't care and implement stuff myself and contribute back, but it doesn't seem to be a realistic option in Elm.

I appreciate that what's there is generally of very high quality, but I cannot pretend that there aren't many missing pieces and, more importantly, no clear roadmap