Theory
Haskell = โcalculus + syntax + static polymorphic types + laziness.
- Purely functional โ every expression is referentially transparent.
- Lazy evaluation โ compute values only when needed. Enables infinite data like
[1..]. - Static typing with inference โ the compiler deduces principal types.
- Firstโclass functions โ pass/return functions freely.
Pillars
- โ๏ธ Syntax & Equations โ concise patternโdriven definitions.
- ๐ก๏ธ Type System โ
::, algebraic datatypes, type classes. - ๐ Recursionย &ย Pattern Matching โ primary control mechanism.
- ๐ง HigherโOrder Functions โ
map,filter,fold, etc. - ๐ฒ Algebraic Data Types โ user data models (product, sum, recursive).