This is a simple introduction to Haskell, demonstrating a few features while implementing a RPN parser and evaluator.
-
Purely functional
- Very different programming paradigm -> new insights
- Claim: data & functions are much easier to understand than state
- Good concurrency story (immutability, STM, ...)
-
Types, types, types
- If it compiles it works
- "Make illegal states unrepresentable through types"
-
Theoratically well grounded
- Gateway drug to even worse languages such as Coq, Idris, Agda ...
- Some ideas from mathematics directly applicable
-
All the usual claims
- Terse, expressive, better programmer productivity, yada yada yada