Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

391–400 of 450 posts

Re: Why I’m Leaving Elm

#391

I fully agree with everything listed in this article. One point he alluded to (by mentioning the "friendly" exclamation marks) but didn't fully address is the Elm community's bizarre and infuriating language policing. You can't say the word "guys" in the Slack channel, or a bot will come and correct you, and tell you to say "folks" instead. And from then on, you'll notice the core team all use the word "folks" incess…

I just can't take the irony of the Elm leadership trying to come across as inclusive.

There's a difference between trying to make the community inclusive, and trying to make the core development group inclusive. Asking people not to say "guys" in community fora is an attempt to make more people comfortable using those fora in the first place. It has nothing to do with actually developing the language itself, just with using the language.

That's like saying it's ironic that a taxi driver will let you sit in the back but won't let you drive the taxi.

Re: Why I’m Leaving Elm

#392
I literally just started learning Elm this week and then I find there's all this drama and baggage to consider.

It's seems like 0.18 to 0.19 was a divisive upgrade for the community. I feel like a lot of good languages or frameworks go through this existential crisis at some point. There was Python 2 to 3, or Angular 1 to 2, Node vs IO, etc.. I think Vue narrowly avoided it on it way towards 3.0 (maybe remains to be seen). I remember when Rails community split when Yehuda Katz got frustrated with DHH and made Merb, and then they merged back together for Rails 3.

It seems like open source has a love/hate relationship with the benevolent dictatorship model.

Re: Why I’m Leaving Elm

#393

Earlier quoted context omitted.

> But he didn't ask for work to be done anywhere in the article? He asks that he not be prevented from writing code that the compiler supports, but which is arbitrarily limited to members of certain organizations. That's not asking for work. But that is asking for work! That's a great example of "why don't you just... $TRIVIAL" where $TRIVIAL = "turn off the restrictions", as if there is no consequent problem for the…

> I think that comes under excusing abuse by saying it's inevitable that someone will do it. Sorry, a former user talking respectfully about the shortcomings of your software project is not "abuse." However, I do agree with the general thrust Of your comment that it was unwise for Luke to continue to use Elm. For all the reasons he outlines in his post, there are many similarly situated developers who would also do w…

> Sorry, a former user talking respectfully about the shortcomings of your software project is not "abuse."

I do not agree that Luke's article fits that description.

Luke's post talks not only about the software project, but also about Evan personally. It's not direct but that doesn't matter. (You cannot make something respectful just by phrasing it indirectly.)

He moralises and talks about Evan personally, by implying strongly that Evan does not live up to obligations that Luke has decided Evan has to others, with the additional twist that it doesn't matter if that implies a free-labour obligation.

That was avoidable. Luke could have framed his discussion about how Elm is not suitable to his needs and why others should be aware, in an actually respectful way that did not frame it as a set of obligations Evan was failing to satisfy. But he did not.

Talking about obligations is not always disrespectful, but in this case I think it was.

If you have been on the receiving end of that sort of thing in a public situation, you may or may not have experienced that it can entrain a mass of many people's responses to an overwhelmingly stressful degree, depending on how people collectively respond to it.

People who write such things may not care about that, but these days they have no excuse for being unaware of the possibility. (I don't want to devalue the word "abuse" by overusing it; and for example I wouldn't vote to remove someone from a group I ran for what was written this time, but if it kept happening over and over then eventually I would because I have seen what can happen if action is never taken).

Re: Why I’m Leaving Elm

#394
post #307
post #304

Earlier quoted context omitted.

> The topic was someone saying in detail, "Here is why I have chosen not to be an Elm user, and why you shouldn't be either." When someone is saying divisive things, I think it's important to be clear and precise about what they're actually saying. Some of the burden rests on themselves, and some of it rests on the commentators. And so I think it's important to note here, that I don't think he said the "you shouldn't…

Thank you for the correction. What he actually said was, "I definitely cannot recommend it to anyone else." Which is fairly translated as, "You probably shouldn't either." But he explicitly didn't say that it was inappropriate for anyone.

I agree with you. The obvious, implicit motivation behind an article like this is to help other users make the same decision. Denying it only constitutes a reinforcing acknowledgement. It's just a rhetorical device. If someone says "I don't mean to be rude, but you're an ass", they in fact mean to be rude.

A good chunk of everything you hear and read revolves around people trying to get others to be like them and do as they do, implicitly so. (Another good chunk is made up of people justifying, explaining and defending themselves.)

Re: Why I’m Leaving Elm

#395
post #312

Earlier quoted context omitted.

https://github.com/elm/core/blob/master/LICENSE It looks like an open source project. I don't get your point.

Based on the core team communication, if you fork the project, you are persona non grata in Elm.

But that's the point. The community close to the core team is toxic, according to this post. So, there are incentives for the rest of the community to fork the project and have it their own way. There is no need to be in good terms with the core team.

Re: Why I’m Leaving Elm

#396
post #274
post #59

Earlier quoted context omitted.

Agree. I'm gonna be honest and say I haven't finished the entire article so author might have elaborated further after, but I got a chill when reading the following passage: > The second is that if you advertise something as Open Source, there is a common set of assumptions about what that means, some of which are explicit in accepted definitions of the term. It seems the "common set of assumptions" is around that pe…

Part of the problem here is that he suggested forking (he used the word "patching") the compiler in another project, and one of the core maintainers of Elm jumped into the issue and said it felt like an attack on Elm itself. That feels a bit silly - why make a project open source if you're going to get upset when someone forks it?

[deleted]

Re: Why I’m Leaving Elm

#397

Earlier quoted context omitted.

> That came over to me as "you are obliged to do a lot more work that I want you to do, on your own time and personal cost, and to stop developing the project according to your own vision or you are a bad person". But he didn't ask for work to be done anywhere in the article? He asks that he not be prevented from writing code that the compiler supports, but which is arbitrarily limited to members of certain organizat…

> But he didn't ask for work to be done anywhere in the article? He asks that he not be prevented from writing code that the compiler supports, but which is arbitrarily limited to members of certain organizations. That's not asking for work. But that is asking for work! That's a great example of "why don't you just... $TRIVIAL" where $TRIVIAL = "turn off the restrictions", as if there is no consequent problem for the…

You're excluding the middle. There's a third path, which is for the smart people whose goals conflict to listen to each other, have a discussion, and find some compromise solution. This, of course, takes a lot of effort and interpersonal skill, which is not something that we coders are often gifted with.

Re: Why I’m Leaving Elm

#398
post #12

I've been working in Elm for a few years, and I feel like I can answer some of the questions. 0.19 introduced a new restriction on Native code (javascript), previously you could compile kernel code in your own projects, now you can't. You've never been able to publish a package using native code to the package site (only packages under the elm or elm-explorations github namespace can). If you feel strongly about it t…

Side-note: "kernel" code is bad naming for JS modules.

I would say the name is fine in terms of the Elm runtime. This is not about JS modules, but about calling the JS API of the browser and also managing some state there.

Re: Why I’m Leaving Elm

#399
post #140

Earlier quoted context omitted.

You can call out to JS using ports and custom elements and accomplish nearly everything you could possibly need. This blog post is focusing on a largely undocumented, always discouraged "feature" (used loosely, as even from its inception it was verboten, couldn't be distributed via the official package manager, etc.) which allowed users to hack library support directly into the Elm language while risking (and losing!…

This is untrue--and I'm not entirely sure you followed the article. You can't do synchronous tasks like Intl's format for strings from floats as many locales use "," over ".". It is a pure function `Float -> String`. This should not have to go through the entire update cycle to handle receiving these kinds of value. Using ports adds async to this equation which means you need to write the ports, and handle and store…

It is now 'Locale -> Float -> String' or do I miss something?

Re: Why I’m Leaving Elm

#400
I've invested a lot of time in Elm about two-to-three years ago, the two main things was elm-ui [1] and elm-github-install [2]. At the time elm-ui was impossible to build without "native code" so I used it and built elm-github-install to make it work.

Suffice to say, I've run into the exact same issues as the author. Had they allowed me to contribute in a meaningful way Elm now would have a nice UI library and probably a much nicer package website which I've developed as well [3] (no longer running, but I've turned maintenance mode off for a few days so you can take a look).

I stopped using and contributing to Elm when 0.19 came out. If you are interested how much effort I put in just check the Elm related repositories in my Github profile [4].

After that I missed the developer experience and I created Mint [5], so in the end some of knowledge I gathered during that time have been put to good use :)

I just can't understand how they could ignore all the work I've put in, if someone would invest that much time and effort into Mint (or any open source project of mine) I would welcome it and or at least start a dialog on how we could integrate their work into the language.

Anyway, I thought I share my Elm story with you (although probably a bit late :))

Cheers

[1] https://github.com/gdotdesign/elm-ui

[2] https://github.com/gdotdesign/elm-github-install

[3] http://elm-directory.herokuapp.com/ https://github.com/gdotdesign/elm-directory

[4] https://github.com/gdotdesign?tab=repositories&q=elm-&type=s...

[5] https://www.mint-lang.com/ https://github.com/mint-lang/mint

Post reply on HN