Personal tools

Category theory

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m
Line 1: Line 1:
'''Category theory''' can be helpful in understanding Haskell's type system. There is a "Haskell category", of which the objects are Haskell types and the morphisms from types <hask>a</hask> to <hask>b</hask> are Haskell functions of type <hask>a -> b</hask>. Various other Haskell structures can be used make it a Cartesian closed category.
+
'''Category theory''' can be helpful in understanding Haskell's type system. There is a "Haskell category", of which the objects are Haskell types, and the morphisms from types <hask>a</hask> to <hask>b</hask> are Haskell functions of type <hask>a -> b</hask>. Various other Haskell structures can be used make it a Cartesian closed category.
   
 
__TOC__
 
__TOC__

Revision as of 20:33, 11 June 2006

Category theory can be helpful in understanding Haskell's type system. There is a "Haskell category", of which the objects are Haskell types, and the morphisms from types
a
to
b
are Haskell functions of type
a -> b
. Various other Haskell structures can be used make it a Cartesian closed category.

Contents


1 Foundations

Michael Barr and Charles Wells: Toposes, Triples and Theories. The online free available book is both an introductory and a detailed description of category theory. By the way, it is also a category theoretical descripton of the concept of monad (the book uses another name instead of monad: triple).

HaWiki's CategoryTheory is also a good theoretical introduction, and besides that, it explains how concepts of category theory are important in Haskell programming.

A Gentle Introduction to Category Theory - the calculational approach written by Maarten M Fokkinga.

2 Categorical programming

Catamorphisms and related concepts, categorical approach to functional programming, categorical programming. Many materials cited here refer to category theory, so as an introduction to this discipline see the #Foundations section.