4 ms·
I was experimenting with Elm around .14 or .15 if I remember correctly. At the moment the language allowed you to use prime(‘) to name variables, and that was t
by noncoml 8y ago
I was experimenting with Elm around .14 or .15 if I remember correctly. At the moment the language allowed you to use prime(‘) to name variables, and that was the suggested way if I had to guess by the tutorials and examples.
During next release they decided that primes as part of a name were not their cup of tea and removed it. Just like that. When I asked why was prime no longer allowed, since I couldn’t see any good reason behind it, I got the usual: “it’s pre-1 release you should expect things to change, etc.”
What left a bitter taste in my mouth was that this change had nothing to do with the language itself. It seemed as if they decided that using prime is not good style, so they forbid it.
I haven’t touched Elm since.
- kjeetgill 8y agoI think rust went through a huge amount of simmilar changes pre-1.0. I think everyone was better for it. I appreciate they're taking their time to get it right pre-1.0. 1.0 is a fairly solemn promise and I respect them for not taking it lightly.
- noncoml 8y agoThat’s exactly the kind of answers I got instead of giving me one good engineering reason on why primes were made forbidden just like this. Thanks for the demonstration.
- star-techate 8y agoThe actual reason is probably "when people use primes, they post code that gets syntax-highlighted by tools that don't know about primes, and this results in Elm code looking broken and stupid."
- noncoml 8y agoWhich is not a good reason to ban them completely from one release to the next. It only shows that they don’t really care about their users that much.
- bjz_ 8y agoThe difference in Rust's case is that whenever anything was removed it was replaced with something that was better designed. It provided escape hatches available to allow for workarounds (ie. unsafe, and a nice FFI), and to allow C libraries to bridge the gap while the ecosystem was still developing.
- vmchale 8y agoRust has FFI that doesn't shit the bed lol
- oomem 8y agoThe proposal and following discussion seem pretty detailed too me, and you can even notice that Evan was not convinced at first: https://github.com/elm-lang/elm-plans/issues/4 https://github.com/elm-lang/elm-plans/issues/4
- noncoml 8y ago> One could argue "if that's a problem for you, don't use it," but in reality we all have to interact with others' code. The fact that it is allowed (and de facto encouraged by convention) means it still impacts those of us who choose not to write it ourselves. Exactly my point. They decided they don’t want to use it and they decided to enforce it to all their users. The reason I don’t want to have anything to do with their language.