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] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon university KF8NH
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe