[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 mailing list