Personal tools

Category theory/Natural transformation

From HaskellWiki

< Category theory(Difference between revisions)
Jump to: navigation, search
(maybeToList as an example)
 
m (Better section structure)
Line 1: Line 1:
== Example ==
+
== Example: <hask>maybeToList</hask> ==
   
 
<haskell>
 
<haskell>

Revision as of 19:12, 2 October 2006

Contents

1 Example:
maybeToList

 map even $ maybeToList $ Just 5

yields the same as

 maybeToList $ map even $ Just 5

yields: both yield

 [False]

1.1 Vertical arrows

\eta : \Phi \to \Psi
\eta_X : \Phi(X) \to \Psi(X)
maybeToList :: Maybe Int -> [Int]
Nothing
[]
Just 0
[0]
Just 1
[1]
\eta_Y : \Phi(Y) \to \Psi(Y)
maybeToList :: Maybe Bool -> [Bool]
Nothing
[]
Just True
[True]
Just False
[False]

1.2 Horizontal arrows

f : X \to Y
\Phi(f) : \Phi(X) \to \Phi(Y)
map even:: Maybe Int -> Maybe Bool
Nothing
Nothing
Just 0
Just True
Just 1
Just False
\Psi(f) : \Psi(X) \to \Psi(Y)
map even:: [Int] -> [Bool]
[]
[]
[0]
[T]rue
[1]
[F]alse

1.3 Commutativity of diagram

\eta_Y \cdot \Phi(f) = \Psi(f) \cdot \eta_X
map even . maybeToList
maybeToList . map even
Nothing
[]
[]
Just 0
[True]
[True]
Just 1
[False]
[False]