4 ms·
Never used Haskell but rather F#/OCaml and immediately fell in love with its maybe monads and partial function application. Couple years later I dipped my toes
by ed-209 5y ago
Never used Haskell but rather F#/OCaml and immediately fell in love with its maybe monads and partial function application. Couple years later I dipped my toes into Erlang and my initial disappointment with the absence of these constructs was replaced with intoxication upon my discovery of pattern matching. It is interesting to see this attempt at a best of both worlds but it only satisfies a curiousity at this point and not a need - everything just looks like pattern matching envy now.
- ReleaseCandidat 5y ago> upon my discovery of pattern matching. How is Erlang's pattern matching different from ML-like pattern matching? I only know Elixir, which is more or less the same as ML.
- d3nj4l 5y agoActually, I think Elixir's pattern matching is slightly worse than OCaml simply because there's no in-built syntax for multiple matches pointing to the same clause. Ex: (* In OCaml *) type t = A | B | C | D match A with | A | B -> "something" | C | D -> "else" And in elixir: case :a do a when a in [:a, :b] -> "something" a when a in [:c, :d] -> "else" end And of course, you lose exhaustiveness from type information, but that's a preference. But, more to the point, I think what GP's referring to is partial function definitions via pattern matching on the arguments. That is intoxicating, and I wish OCaml had that.
- ed-209 5y agoYes, matching structure of tuples in function definition etc.
- ed-209 5y agoNo different.