4 ms·
> This is FUD. For any normal web app you don't need that functionality, just use the built in "ports" concept to interface with JS stuff. The change was handl
by PragmaticPulp 4y ago
> This is FUD. For any normal web app you don't need that functionality, just use the built in "ports" concept to interface with JS stuff.
The change was handled extremely poorly. I only knew one team using Elm in production at the time. They went from being huge proponents of Elm to recommending against it after the 0.18/0.19 changes and drama upended a lot of their work.
There may have been a "right" way to do things under the new version, but breaking major functionality in a minor release without warning is a sign that you don't really care about your users. Changes like this require discussion, warning, and long transition periods.
It was bad enough that they got it wrong, but then Evan doubled down by dedicating the opening of his next conference talk to mocking the users who were unhappy about the changes: https://www.youtube.com/watch?v=uGlzRt-FYto https://www.youtube.com/watch?v=uGlzRt-FYto
The part where he mocks a commenter for asking "Is Evan killing Elm's momentum?" is weirdly prescient, given that these events ultimately did mark the slowdown of the Elm community. Elm development came to a near halt about a year later.
> And it being open source means nothing stops you from forking it and adding your own native modules. Reason no one has done it is it's no need, and doing thinga that way would break the promises the compiler makes about no runtime bugs.
I disagree. Maintaining an in-house fork of a compiler just to accomplish what could be done with past versions isn't a reasonable suggestion. The reason people weren't maintaining in-house forks of the compiler just to keep their projects going was because that's a silly thing to do when you could just use any number of more reasonable mainstream projects that don't require such extreme lengths.
It's weird to see people casually suggest "Just maintain a fork of the compiler" as a reasonable solution.
- henearkr 4y agoIf it's really just a "hardcoded whitelist" that causes trouble, said fork would truly be easy to maintain.
- kadoban 4y agoUntil they do some other halfbaked thing that's harder to follow along with. When people show you who they are, believe them the first time. Compilers are supposed to be boring, especially when your language has ~exactly 1. If you can't trust the people maintaining it, it's too much risk to take. Having to do an entire rewrite in a different language can easily kill a company or a project.
- peteradio 4y agoWould you need to maintain a fork at all? Couldn't you obliterate the rule when building the compiler?
- josephcsible 4y agoWhat's the difference between that and a fork?
- peteradio 4y agoOne doesn't require a "community of maintainers", its an adhoc tool you use to get your own stuff done, every project has them what is one more?
- Volundr 4y agoUntil another change against the community interest comes along. You only trust the "benevolent dictator" for as long as they remain benevolent.
- bitmapper 4y agoIt would be, if the code wasn't so horrifically bitrotted at this point. GHC has changed a lot since Elm last got any meaningful update, and they decided to use unsafe GHC primitives everywhere that have no support guarantee. You have to fix a bunch of issues with the compiler source before it will even compile on a relatively new version of GHC.
- skybrian 4y agoIt would be weird to create such a fork casually, but it's a bit surprising that nobody in the community did it by now. Isn't forking the open source way of dealing with political disputes like this?
- satvikpendem 4y agoGren is apparently such a fork: https://gren-lang.org/ https://gren-lang.org/
- josephcsible 4y agoIs it? https://gren-lang.org/book/faq.html#what-are-the-differences-between-gren-and-elm https://gren-lang.org/book/faq.html#what-are-the-differences... doesn't mention anything about native code.
- satvikpendem 4y ago> While we could spend considerable time and effort in creating a language which would look very similar to Elm, we've instead decided to fork the compiler and core packages, and use that as the basis of Gren. https://gren-lang.org/news/220530_first_release/ https://gren-lang.org/news/220530_first_release/
- zainhoda 4y agoOne of Evan’s colleagues from NoRedInk actually started his own language heavily inspired by Elm that aims to fix a lot of its ecosystem problems. https://www.derw-lang.com https://www.derw-lang.com I’m not sure if it’ll go anywhere but I like the idea that it’s interoperable with existing JS/TS packages.
- xtian 4y agoI was using Elm full time back then, and I think some important context to note is that 0.18 had outstanding issues which had seen no movement for years (and PRs were generally ignored). The official guidance was “wait for 0.19.” While 0.19 addressed many if not all of these issues, it came with a number of breaking changes, some very significant. 0.19 also coincided with a reorganization of the GitHub repos which happened to scrub all past issues, PRs, and discussion. A more stringent moderation policy was also instituted on the official forums which forbade discussion of potential forks, unapproved workarounds of the new limitations, or any criticism which was seen as too harsh.
- wpietri 4y agoWell that last bit alone would put me permanently off a language. It's always wild to me when open-source leaders let the power go to their heads. If they want that kind of control over a community, they should go start a backwoods cult. Or at least start a company where they're signing the paychecks.
- fortran77 4y agoThat's why I left Elm. There were major unfixed bugs for years. I liked the concept, but I couldn't deal with the slow progress to fix things.
- richbell 4y ago> It was bad enough that they got it wrong, but then Evan doubled down by dedicating the opening of his next conference talk to mocking the users who were unhappy about the changes: https://www.youtube.com/watch?v=uGlzRt-FYto https://www.youtube.com/watch?v=uGlzRt-FYto > The part where he mocks a commenter for asking "Is Evan killing Elm's momentum?" is weirdly prescient, given that these events ultimately did mark the slowdown of the Elm community. Elm development came to a near halt about a year later. Wow, that was hard to watch. He takes people being passionate about Elm and discussing potential issues and mocks them. If I was a proponent of Elm that felt uneasy about its direction at the time, this would have made it easy to walk away from.