3 ms·
>I will at this point sympathise with people who have criticised Elm in the past for some of its most vocal proponents being frustratingly unhelpful. As always
by ivanbakel 6y ago
>I will at this point sympathise with people who have criticised Elm in the past for some of its most vocal proponents being frustratingly unhelpful.
As always, Elm's biggest flaw is the sanctimonious nature of its design committee. No native modules, no custom operators, no lenses (would they really ban them?), etc.
That second one even comes back to bite the code here, because compared to e.g. Haskell lenses, the Elm lens code is ugly and verbose. Having to manually write lenses instead of being able to auto-generate them with macros is yet another Elm failing, though to be fair, I don't know that macros are opposed by the committee.
- pyrale 6y ago> compared to e.g. Haskell lenses, the Elm lens code is ugly and verbose. Monocle isn't the only game in town for lenses. Arguably, you're still going to need to write the code that isn't generated, but the composition of lenses can be done using the generic composition (<</>>) too, which makes them much more elegant.
- karmakaze 6y agoWasn't there some controversy about being unable to enumerate Sum (aka Custom) types? Has this ever been resolved?
- rapind 6y ago“custom operators” is where you lost me. Elm for me is like a refuge from JavaScript where anything goes (good and bad). It’s not a hammer for very nail, but it’s simple and predictable for the most part. There are other frameworks like bucklescript / reason, purescript, closurescript, etc. with all the bells and whistles. Ultimately, I think Elm is in a good place. That being said you have to pretty quickly jump into the deep end once you reach a fairly moderate sized code base.
- ghayes 6y agoThe only feature I miss in Elm is do-notation. Idris does a great job of introducing do-notation without requiring inclusion in monad and simply being sugar for the bind operator.
- Kaze404 6y agoAs someone who entered the functional world through Elm, trying to learn Haskell made me appreciate all the things it doesn't have. Operators are a particular offender, because every time I look up how to do something I have to memorize a new sequence of characters that doesn't mean anything. Incredibly frustrating.