[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