[Haskell-cafe] Re: latest Hood ?
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Sat Dec 6 20:14:02 EST 2008
On 2008 Dec 6, at 18:13, Simon Michael wrote:
> I don't yet know what a hylomorphism is and thought your pointless-
> haskell package might be one of those semi-joke projects, but now I
> wonder if it's something that I'll need in order to use (G)Hood with
> real-world code.
Not a joke.
People who reason about programs (more of a mathematical discipline
than a programming one) like to use the tools of category theory (a
generalization of set theory). At the category-theoretical level, the
important parts of Haskell are functors (functions that operate on
functions; they perform transformations on types) and types
(equivalent to sets); values don't actually appear anywhere, they stay
hidden inside types. So to use those tools, you need to remove the
values; values are also known as "points", hence "point-free" or
"point-less" (a bit of a joke, that) programming.
Morphisms (catamorphism, hylomorphism, etc.) are category-theoretical
transformations, which are represented in Haskell as functors. Many
common functional "patterns" are derived from these reflections of
category theory transformations in the language.
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
More information about the Haskell-Cafe