首页 > 编程语言 > 详细

[Javascript] Functor law

时间:2016-09-12 06:11:50      阅读:195      评论:0      收藏:0      [点我收藏+]

Functor laws:

1. Identity:

map(id) == id

 

2. Composition:

compose(map(f), map(g)) == map(compose(f,g))
compose(
 map(toUpper),
 map(reverse),
 toArray   
)("bingo");


compose(
 map(
   compose(toUpper reverse),
   toArray
 )
)("bingo")

 

Natural Transformations:

"Takes one functor to another without knowing anything about the value".

maybeToArray(Maybe(2)) // [2]
maybeToArray(Maybe(null)) // []

 

compose(nt, map(f)) == compose(map(f), nt)

compose(maybeToArray, map(add(1)))(Maybe(5)) //[6]

compose(map(add(1)), maybeToArray)(Maybe(5)) // [6]

 

[Javascript] Functor law

原文:http://www.cnblogs.com/Answer1215/p/5863415.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!