scala与函数式编程——从范畴论看函数式编程

什么是范畴?

  生活中我们经常说:我们讲的不是一个范畴里的东西!意思就是说两个人所讲的事物不具有任何关联,没有相关性。其实范畴Category就是指一群事物以及这些事物之间的所有关联关系,这些事物和这些关联关系共同组成了某个范畴。
  举一个例子,比如在动物这个范畴中,,螳螂,黄雀都是动物这个范畴内的一个事物(即元素),然而螳螂的天敌,黄雀又是螳螂的天敌,这些就是这些事物之间的关系。如果将每种具体的动物画作一个点,那么就可以用带箭头的线将很多点连接起来,每个点上都可以有数不表的箭头,从而形成一幅复杂无缘的图。形成的这张图(箭头和点)就是我们所说的动物这个范畴。
  因此,当我们在说范畴的时候,我们谈论的其实是相关的所有元素以及这些元素之间的关系,而范畴的名称其实只是一个代号而已。
  再举一个例子,在百度员工这个范畴中,所有的百度员工都是这个范畴下的一个点,然后A员工是B的上级,B是C的同级,诸如此类的人与人之间的职位、层级关系就是这个范畴中的箭头。举这个例子的目的是为了体现动物这个范畴的特殊之处:与百度员工这个范畴做对比就会发现,百度员工范畴内的每个元素是一个普通的点,而动物这个范畴内的每个元素其实是一个集合。螳螂这个点代表的是螳螂这个物种,而黄雀也并不是真的指某只具体的黄雀。

编程所描绘的

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值