4 ms·
Haskell without purity and types I'm getting quite tired of this "Every functional language I can't precisely describe is like Haskell" sentiment. It's the "ta
by vezzy-fnord 11y ago
Haskell without purity and types
I'm getting quite tired of this "Every functional language I can't precisely describe is like Haskell" sentiment. It's the "tastes like chicken" of programming languages. Then again, the original article is remarkably devoid of content, so I suppose it's only fitting.
Interestingly, avoidance of excessive magic is a large reason why I stick to vanilla Erlang.
- 1_player 11y agoI agree that the comparison with Haskell is ill fitting. The sentiment I wanted to express is that Elixir, like Haskell, is built around function (or module) composition, is immutable, and state is idiomatically handled separately (with separate processes and message passing, instead of monads).
- vezzy-fnord 11y agoFallacy of composition. You're saying that any language with HOFs, immutability and "idiomatic way to contain state" is ergo Haskell-like, which is insane. None of these are even properties of Elixir, but of Erlang, which Elixir inherits. Erlang is self-evidently not Haskell-like. At best such a language would be merely functional. The actor model isn't even about anything analogous to monads, it's a concurrency model that happens to simplify concurrency control through isolation.
- davidw 11y ago> insane Rather than sling around heavy duty words like "insanity", you might try putting yourself in their shoes: perhaps their only exposure to a functional language is Haskell. Elixir is going to look a lot more like that, than, say, C++.
- vezzy-fnord 11y agoIrrelevant. Ignorance does not make inapt comparisons retroactively correct.
- davidw 11y agoIn technical terms, you are of course correct, and it's helpful to point that out where people are wrong. But being wrong is not "insane" - that's incorrect in and of itself :-)
- deleted 11y ago[deleted]
- zeckalpha 11y agoSeparate process are monads! They just might not call them that. ;)
- seiji 11y agoI stick to vanilla Erlang. Erlang + optional type annotations + optional dialyzer verification is perfection.