[Haskell-cafe] Obscure, important concepts
Jeffrey Brown
jeffbrown.the at gmail.com
Mon Nov 3 22:53:11 UTC 2014
What concepts relatively unique to Haskell are powerful, widely applicable,
and not mentioned in most introductory texts? (By "relatively unique to
Haskell" I mean maybe they're part of Lisp or Scheme, but not, say, Java.)
Some of the concepts important to Haskell, such as lambda expressions and
recursion, are also present in more popular languages. Many others, though,
either have no equivalent in (most) other languages, or else are very
unlike the equivalent:
types, classes and kinds
higher-order functions
evaluation
partial application
tail recursion
laziness
currying
pattern matching
application and composition operations
contexts
functors, applicatives, monads
monad transformers
* lenses*
* :def macros*
* arrows*
* continuation passing style*
* software transactional memory*
Most of those topics appear to be covered by introductory texts, but the
last five are not. I found each of them by accident, and each kind of blew
my mind. They all strike me as powerful, widely applicable, and obscure.
Are there others?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20141103/1ddd74ba/attachment.html>
More information about the Haskell-Cafe
mailing list