Category theory/Natural transformation: Difference between revisions
EndreyMark (talk | contribs) m (Fix empty line tricks at tables) |
EndreyMark (talk | contribs) m (Vertical arrows: sides of objects: rephrase non-scientific expression) |
||
Line 15: | Line 15: | ||
=== Vertical arrows: sides of objects === | === Vertical arrows: sides of objects === | ||
… showing | … showing how the natural transformation works. | ||
:<math>\eta : \Phi \to \Psi</math> | :<math>\eta : \Phi \to \Psi</math> |
Revision as of 20:12, 2 October 2006
Example: maybeToList
maybeToList
map even $ maybeToList $ Just 5
yields the same as
maybeToList $ map even $ Just 5
yields: both yield
[False]
Vertical arrows: sides of objects
… showing how the natural transformation works.
maybeToList :: Maybe a -> [a]
Left: side of X object
maybeToList :: Maybe Int -> [Int]
| |
Nothing
|
[]
|
Just 0
|
[0]
|
Just 1
|
[1]
|
Right: side of Y object
maybeToList :: Maybe Bool -> [Bool]
| |
Nothing
|
[]
|
Just True
|
[True]
|
Just False
|
[False]
|
Horizontal arrows: sides of functors
even :: Int -> Bool
Side of functor
map even:: Maybe Int -> Maybe Bool
| |
Nothing
|
Nothing
|
Just 0
|
Just True
|
Just 1
|
Just False
|
Side of functor
map even:: [Int] -> [Bool]
| |
[]
|
[]
|
[0]
|
[True]
|
[1]
|
[False]
|
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]
|
Remarks
even
has a more general type (Integral a => a -> Bool
) 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.