Erlang/elixir and leex

I have used those libraries indeed. The abstractions they use were too cumbersome to me, and trivial things were way too hard. I just wanted to parse sole text into a structured representation and suddenly I’m reading about Monads, Arrows, Applicative typeclasses and operator explosions… The way the context is mostly implicit instead of explicit like ExSpirit also makes it more complex to do what I want.

I still don’t get why you need to bring up monads, arrows and the like for a parser, instead of having a simple pure function that converts a context into a context like ExSpirit. I mean, monads, arrows and functors are simple. They’re just typeclasses, but often the fact that something is a monad or an arrow or whatever doesn’t really help with dealing with the concrete problem at hand: A parser is not a monad. It’s a parser! Making it “more monad” makes it “less parser”…

So I do think that ExSpirit is way more user-friendly than Haskell’s stuff. And I doblikr static typing.

This is a general criticism of Haskell. Haskell programmers seem to be in a competition over who uses the highest number of typeclasses per program, often when a simple Enum would suffice.