Category theory/Natural transformation
From HaskellWiki
(Difference between revisions)
(→Commutative diagram: Notations) |
(→External links: HaWiki article not migrated yet) |
||
| Line 133: | Line 133: | ||
* <hask>even</hask> has a more general type (<hask>Integral a => a -> Bool</hask>) than described here | * <hask>even</hask> has a more general type (<hask>Integral a => a -> Bool</hask>) than described here | ||
* 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. | * 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. | ||
| + | |||
| + | === External links === | ||
| + | * [http://haskell.org/hawiki/CategoryTheory_2fNaturalTransformation?action=highlight&value=natural+transformation The corresponding HaWiki article] is not migrated here yet, so You can see it for more information. | ||
| + | * Wikipedia's [http://en.wikipedia.org/wiki/Natural_transformation Natural transfomration] article | ||
Revision as of 20:36, 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 Commutative diagram
Let
,
denote categories.
Let
be functors.
Let us define the
natural transformation.
............
1.2 Vertical arrows: sides of objects
… showing how the natural transformation works.
maybeToList :: Maybe a -> [a]
1.2.1 Left: side of X object
| maybeToList :: Maybe Int -> [Int] | |
| Nothing | [] |
| Just 0 | [0] |
| Just 1 | [1] |
1.2.2 Right: side of Y object
| maybeToList :: Maybe Bool -> [Bool] | |
| Nothing | [] |
| Just True | [True] |
| Just False | [False] |
1.3 Horizontal arrows: sides of functors
even :: Int -> Bool
1.3.1 Side of Φ functor
| map even:: Maybe Int -> Maybe Bool | |
| Nothing | Nothing |
| Just 0 | Just True |
| Just 1 | Just False |
1.3.2 Side of Ψ functor
| map even:: [Int] -> [Bool] | |
| [] | [] |
| [0] | [True] |
| [1] | [False] |
1.4 Commutativity of the diagram
both paths span between
Maybe Int -> [Bool] | ||
| map even . maybeToList | maybeToList . map even | |
| Nothing | [] | [] |
| Just 0 | [True] | [True] |
| Just 1 | [False] | [False] |
1.5 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.
1.6 External links
- The corresponding HaWiki article is not migrated here yet, so You can see it for more information.
- Wikipedia's Natural transfomration article
