Haskell is a general-purpose, purely functional programming language with non-strict semantics and strong static typing. It allows programmers to define their own types and write concise, modular code due to its laziness and rich type system. Learning Haskell can transform how developers think about programming by teaching advanced functional concepts not found in other common languages.
4. –Wikipedia
Haskell is a standardized, general-purpose
purely functional programming language, with
non-strict semantics and strong static typing.
5.
6. standardized
Haskell and its core libraries conform to a
language specification.
The Glasgow Haskell Compiler supports both
Haskell 98 and Haskell 2010.
https://wiki.haskell.org/Language_and_library_specification
8. purely functional
Functions in Haskell are idempotent: they yield the
same value consistently for each input.
Special constructs are used to segregate code
that changes state or produces side effects.
http://stackoverflow.com/questions/4382223/pure-functional-language-haskell
9. non-strict semantics
Haskell is lazy:
nothing is evaluated until it is needed.
https://wiki.haskell.org/Why_Haskell_matters#Laziness
10. strong static typing
Types are checked at compile-time.
Types are inferred and do not need to be stated.
Type classes generalize behavior among types.
You can easily define your own types.
http://www.well-typed.com/blog/91/
13. –Tikhon Jelvis, Quora contributor
Haskell can teach you advanced
functional programming in a way no other
common languages can.
http://www.quora.com/Which-power-programming-language-should-I-put-the-effort-into-learning-this-year-Clojure-or-Haskell
14. –Aaron Contorer, founder of FP Complete and former Microsoft exec
Haskell is highly regarded for its ability to transform the way
developers think about programming. Many developers
have told us they never really saw the holes in the imperative
languages they were using until they started using Haskell.
http://www.huffingtonpost.com/aaroncontorer/haskell-the-language-most_b_4242119.html
15. –jamwt, HN commenter
If you satisfy the type system, a shockingly high
percentage of the time your program is just flat
out correct the first time you run it.
https://news.ycombinator.com/item?id=2413816
16. –clrnd, Haskell redditor
I discovered that almost everything can be composable; I can have
a thousand computations that may fail, run them in parallel trivially
and still catch all those errors in a single line…I learnt that
concurrency can…actually make things faster without adding
unnecessary complexity. I learnt how rich types can give structure,
meaning and modularity to a piece of code (almost) for free.
http://www.reddit.com/r/haskell/comments/2mr7ks/im_debating_between_haskell_and_clojure_xpost/
17. –Chris Allen (bitemyapp), Meditations on Learning Haskell
I use Haskell because I want to be able to refactor
without fear, because I want maintenance to be
something I don’t resent. So I can reuse code freely.
22. learn
• Real World Haskell
• Learn You a Haskell for Great
Good!
• 99 Problems in Haskell
• exercism.io
• experiment in GHCi
• docs and source on Hackage