#009 Haskell
Haskell probably came to the notice of many programmers when it earned a chapter in Bruce Tate’s Seven Languages in Seven Weeks.
Hakell In a Nutshell
Haskell is…
- an advanced purely-functional programming language
- strongly typed
- statically typed
- non-strict i.e. reduction proceeds from the outside in and doesn’t evaluate what it doesn’t need to. This is almost (but not quite) lazy evaluation
- polymorphic
- brief
- free
Haskell has..
- strong support for integration with other languages
- Erlang-style pattern matching and guards
- list comprehensions
- tuples
- built-in concurrency and parallelism
- a full tool-chain: debuggers, profilers, libraries, IDEs etc
- an active community,
Haskell is governed by..
- a first version defined in 1990
- a latest definition in The Haskell 2010 Report released July 2010
- a committee which is formed for the period of one year. Members are nominated from the community and selected by the outgoing committee.
Haskell implementations include..
- a main implementation in the Glasgow Haskell Compiler (7.10.3 released 8 December 2015)
- quite a few others in various states of development: Ajhc; Helium; UHC; Frege.
Why Haskell?
Most claims concerning Haskell seem to be second order and nebulous (like increased productivity compared to Erlang).
They all seem to boil down to three specific features of Haskell from which all other benefits arise:
- code is shorter
- code is clearer
- the language provides rigorous control of side effects
Credits and References
- The Haskell Programming Language - main site
- Haskell - wikipedia
- Seven Languages in Seven Weeks - Haskell has a chapter