原文：you-are-already-smart-enough

- category theory
- lambda calculus
- lazy evaluation2
- lenses
- monad transformers
- effect algebras
- recursion schemes
- type programming
- Template Haskell
- proof languages like Coq and Agda
- language extensions other than
`-XOverloadedStrings`

From time to time, it will feel frustrating because you will know how to solve the problem in [some other language] but not in Haskell.

What do you need to write real Haskell? The core of the language is extremely simple. If you understand how to write and use

More please see the origin article.