码迷,mamicode.com
首页 > 其他好文 > 详细

Haskell抽象概念Functor剖析

时间:2015-03-09 21:03:05      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

在理解Functor之前,必须对抽象代数的范畴论有所了解,有范畴论的知识作为铺垫,感觉Functor也不是那么的难以理解了。


一个范畴C包括:

    •  一个由对象所构成的类ob(C)

    •  对象之间的态射所构成的类hom(C)。每一个态射f都会有一个“源对象”a和“目标对象”b,且a和b都在ob(C)之内。因此写成f:a -> b,且称f为由a到b的态射。所有a到b的态射所构成的“态射类”,其标记为hom(a,b)或者homC(a,b)。

    •  对三个对象a、b和c,二元运算hom(a,b) * hom(b,c) -> hom(a,c)称之为态射复合;f :a -> b 和g : b -> c 的复合写成g . f 或者gf。

此态射复合满足下列公理:

    • (结合律)若f:a -> b、g:b -> c且 h:c -> d,则 h.(g.f) = (h.g).f;

    • (单位元)对任一对象x,存在一态射1x:x -> x,使得每一态射f:a -> b,都会有1b.f = f = f.1a。此态射称为“x的单位态射”。     

       

Haskell抽象概念Functor剖析

标签:

原文地址:http://my.oschina.net/firebroo/blog/384494

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!