News for hackers. Stuff that matters.
Re:Elm Compiler Written in Elm by cies on Tuesday July 13, 2021 @08:43AM (#27820199)
> Elm main team has been defensive against forks

What does that mean?

I know they have a strict vision of what features are better left out, and in a way I wish more langs'd be vocal about that. Go does the same and they seem to get a lot of praise for it.

Just like in Go, the Elm team only allows some features to be used by their own (std-) libraries. This, again, is a design choice.

No group was hurt enough to "fork" Elm. PureScript can be seen as a close relative that is less restrictive.

Re:Elm Compiler Written in Elm by donatj on Tuesday July 13, 2021 @09:09AM (#27820478)
Go is open to forks and PRs though. It’s more “we’ve got a vision, but we’ll hear you out”. Elm is full cathedral, Elm comes down from the gods with no input or transparency into the decision process.

The Elm developers have a history of ostracizing people who even mention the possibility of forks from the community; tester89 posted a link with a lot of good context.

They take a very heavy handed and adversarial stance to development. I had just started getting into Elm when the news of .19 basically breaking everything and the core team just brushing off peoples cries and it soured me on the entire language.

When pre-v1 Go broke things, `go fix` was there to at least try and help.

Re:Elm Compiler Written in Elm by cies on Tuesday July 13, 2021 @10:58AM (#27821788)
Sounds like Go's cathedral has a nice little bazaar in front, once a year, only for those who applied and were grated. In other words: better marketing.

I'm not defending Elm team members being rude. But when I look at Elm I see a much better designed language than Go, run by a much smaller team. Elm changes quite minor things in pre-1.0. Go forgot that polymorphism is cool, nulls are bad, etc. Now Go wants to fix some of that, but that would create a new notion of idiomatic Go that it's std lib is not in sync with.

To some extend this is a fate all popular languages befall. Look at Java for some sci-fi, or even better C++.

Re:Elm Compiler Written in Elm by antew on Tuesday July 13, 2021 @09:27AM (#27820657)
There was a similar project to `go fix` with elm-upgrade (https://github.com/avh4/elm-upgrade). We migrated a ~100k LOC app at work from 0.18 to 0.19 and while it was tedious, the compiler really has your back and makes it easier.

We weren't bit by the removal of native/kernel code, but it definitely turned a lot of people away that may have been committed to Elm before.

Re:Elm Compiler Written in Elm by girishso on Tuesday July 13, 2021 @12:23PM (#27822884)
True that.

We also ported our Elm codebase from 0.18 to 0.19. It took us almost a week working almost 24/7 across two timezones to make the damn thing compile again. Did not see the UI for the entire week, but once it compiled it (mostly) just worked like nothing had changed (that's after 429 files changed, 16422 insertions(+), 12116 deletions(-)).

My colleague took notes of the progress at https://gist.github.com/mordrax/efcd34739ed56bb64d2b12d2401b...

Re:Elm Compiler Written in Elm by savanaly on Tuesday July 13, 2021 @01:15PM (#27823508)
Wow! Apologies if this is answered in those notes but my quick question is: Did you make extensive use of Debug.todo to cordon off sections of the app that wouldn't compile in order to work on and "see" the other sections in the meantime? That's what I do on my small elm apps, e.g. put whole features or functionality behind Debug.todos.
Re:Elm Compiler Written in Elm by girishso on Tuesday July 13, 2021 @02:35PM (#27824492)
I might be wrong but I think Debug.todo was introduced in Elm 0.19. But in any case we were not aware of it at the time and didn’t use it. Btw Debug.todo is amazing and we do use it now sometimes.
Re:Elm Compiler Written in Elm by mjaniczek on Tuesday July 13, 2021 @03:20PM (#27825058)
I remember hearing Mordrax speak about the upgrade, quite herculean!

At our company it was much less drastic. At the time we had about 35kloc of Elm and it took me one evening of Vim macro frenzy. The trickiest things we encountered were an elm/http API change and temporarily vendoring packages that didn't yet upgrade themselves.

Re:Elm Compiler Written in Elm by b3morales on Tuesday July 13, 2021 @01:23PM (#27823594)
From the gist:

> We have until Friday 7th September to upgrade to Elm 0.19.

I'm completely ignorant about the transition, but I'm curious what the source of this deadline was. Would you mind expanding?

Re:Elm Compiler Written in Elm by girishso on Tuesday July 13, 2021 @02:28PM (#27824392)
Basically business didn’t see any benefits of spending time on the upgrade, time that could be used to improve/add features to the product.
Re:Elm Compiler Written in Elm by yakshaving_jgt on Tuesday July 13, 2021 @11:02AM (#27821848)
> basically breaking everything

This is unnecessarily dramatic, and far from the truth.