- _Terseness_. Haskell can be extremely terse, but some language are better at this game, for example codegolf, ruby and python.
- _Readability_. Many might say it is a question of habit, but personally I find Haskell harder to read than Python and Ruby. It is not necessarily a drawback. Haskell code can be compared to a scientific paper. You have some very readable part, but sometimes you can encounter a mathematical formula. In these case, you need to focus because something hard is happening.
Haskell is very fast even if not as fast as C but it has an incredible ability to make your code generalizable.
In fact the only limit of generalization of your code are either your intellectual capacity or some mathematical properties.
Guess which limit is generally reached first?
This actual article contains three parts.
- Introduction: a fast dig inside some real Haskell example
- Basic Haskell: Haskell syntax, and some essential notions
- Haskell Walls: Explaining the hard parts; IO and Monads
> Note: Each time you'll see a separator with a filename ending in `.lhs`, you could click the filename to get this file. If you save the file as `filename.lhs`, you can run it with