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 kindshigher-order functionsevaluationpartial applicationtail recursionlazinesscurryingpattern matchingapplication and composition operationscontextsfunctors, applicatives, monadsmonad transformerslenses:def macrosarrowscontinuation passing stylesoftware transactional memoryMost 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?
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe