I have been experimenting with using Yesod to throw together a web application or two. My experience so far has been broadly positive—if you like computers to check things for you, I recommend it.1 That said, watching the full chain of dependencies fly past was moderately entertaining:2
An excellent parser-combinator library, widely imitated. This wouldn’t be funny, except…
Another excellent parser-combinator library, inspired by parsec.
This defines a bunch of Unicode aliases for standard functions with boring ASCII names. Why write:
x `elem` xs
when you could write:
x ∈ xs
- utf8-light-0.4.0.1 and utf8-string-0.3.7
Two UTF-8 encoding libraries!
“In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative binary operation. A semigroup generalizes a monoid in that there might not exist an identity element. It also (originally) generalized a group (a monoid with all inverses) to a type where every element did not have to have an inverse, thus the name semigroup.”