Category theory/Natural transformation
From HaskellWiki
(Difference between revisions)
m (Order should suggest the correspondence between Haskell example and mathmatical formalism) |
(→Commutativity of diagram: More typings) |
||
| Line 64: | Line 64: | ||
{| Border=2 CellPadding=2 CellSpacing=2 | {| Border=2 CellPadding=2 CellSpacing=2 | ||
| - | |||
| | | | ||
| + | |+ <math>\Phi(f) : \Phi(X) \to \Phi(Y)</math> | ||
| <hask>map even:: Maybe Int -> Maybe Bool</hask> | | <hask>map even:: Maybe Int -> Maybe Bool</hask> | ||
|- | |- | ||
| Line 97: | Line 97: | ||
{| Border=2 CellPadding=2 CellSpacing=2 | {| Border=2 CellPadding=2 CellSpacing=2 | ||
| - | |+ <math>\Psi(f) \cdot \eta_X = \eta_Y \cdot \Phi(f)</math> | + | |+ <math>\Psi(f) \cdot \eta_X = \eta_Y \cdot \Phi(f)</math>, both paths span between <math>\Phi(X) \to \Psi(Y)</math> |
| - | | | + | | RowSpan=2| |
| + | | ColSpan=2|<hask>Maybe Int -> [Bool]</hask> | ||
| + | |- | ||
| <hask>map even . maybeToList</hask> | | <hask>map even . maybeToList</hask> | ||
| <hask>maybeToList . map even</hask> | | <hask>maybeToList . map even</hask> | ||
Revision as of 20:02, 2 October 2006
Contents |
1 Example: maybeToList
maybeToList
map even $ maybeToList $ Just 5
yields the same as
maybeToList $ map even $ Just 5
yields: both yield
[False]
1.1 Vertical arrows: sides of objects
… showing the operation of the natural transformation.
maybeToList :: Maybe a -> [a]
1.1.1 Left: side of X object
| maybeToList :: Maybe Int -> [Int] | |
| Nothing | [] |
| Just 0 | [0] |
| Just 1 | [1] |
1.1.2 Right: side of Y object
| maybeToList :: Maybe Bool -> [Bool] | |
| Nothing | [] |
| Just True | [True] |
| Just False | [False] |
1.2 Horizontal arrows: sides of functors
even :: Int -> Bool
1.2.1 Side of Φ functor
| map even:: Maybe Int -> Maybe Bool | |
| Nothing | Nothing |
| Just 0 | Just True |
| Just 1 | Just False |
1.2.2 Side of Ψ functor
| map even:: [Int] -> [Bool] | |
| [] | [] |
| [0] | [T]rue |
| [1] | [F]alse |
1.3 Commutativity of diagram
Maybe Int -> [Bool] | ||
| map even . maybeToList | maybeToList . map even | |
| Nothing | [] | [] |
| Just 0 | [True] | [True] |
| Just 1 | [False] | [False] |
1.4 Remarks
- has a more general type (even) than described hereIntegral a => a -> Bool
- Words “side”, “horizontal”, “vertical”, “left”, “right” serve here only to point to the discussed parts of a diagram, thus, they are not part of the scientific terminology.
, both paths span between
