Category theory/Natural transformation

From HaskellWiki
< Category theory
Revision as of 19:12, 2 October 2006 by EndreyMark (talk | contribs) (Better section structure)
Jump to navigation Jump to search

Example: maybeToList

 map even $ maybeToList $ Just 5

yields the same as

 maybeToList $ map even $ Just 5

yields: both yield

 [False]

Vertical arrows

maybeToList :: Maybe Int -> [Int]
Nothing []
Just 0 [0]
Just 1 [1]
maybeToList :: Maybe Bool -> [Bool]
Nothing []
Just True [True]
Just False [False]

Horizontal arrows

map even:: Maybe Int -> Maybe Bool
Nothing Nothing
Just 0 Just True
Just 1 Just False
map even:: [Int] -> [Bool]
[] []
[0] [T]rue
[1] [F]alse

Commutativity of diagram

map even . maybeToList maybeToList . map even
Nothing [] []
Just 0 [True] [True]
Just 1 [False] [False]