函子 (函数式编程)
在函数式编程中,函子(functor)是受到范畴论函子启发的一种设计模式,它允许泛化类型在内部应用一个函数而不改变泛化类型的结构。函子形成了更复杂的抽象如应用式、单子、Comonad的基础。
概述编辑
class Functor f where fmap :: (a -> b) -> f a -> f b
具有叫做“函子定律”的条件:
fmap id = idfmap (g . h) = (fmap g) . (fmap h)
在Scala中使用高种类类型:
trait Functor[F[_]] { def map[A,B](a: F[A])(f: A => B): F[B]}
其简单的例子是可选类型和搜集类型。函子可用于建模“函数作用”来向仍未完成的计算应用一个函数。
在C++中,名字“函子”指称的是函数对象而非这里的定义。
参见编辑
外部链接编辑
- section about Functor in Haskell Typeclassopedia (页面存档备份,存于互联网档案馆)
- chapter 11 Functors, Applicative Functors and Monoids in Learn You a Haskell for Great Good! (页面存档备份,存于互联网档案馆)
- documentation for Functor in Cats library (页面存档备份,存于互联网档案馆) (in scala)
- section about Functor in lemastero/scala_typeclassopedia (页面存档备份,存于互联网档案馆)
🔥 Top keywords: Baike: 首页Special:搜索胖猫跳江事件背着善宰跑九龍城寨之圍城逆天奇案2璩静淚之女王歌手2024Energy (組合)新生 (网络剧)习近平匈牙利邊佑錫劉俊謙 (香港)金智媛神耆小子塞尔维亚金秀賢 (男演員)母亲节猩球崛起:王國誕生九龍寨城馴鹿寶貝家族榮耀之繼承者Seventeen (組合)六四事件不夠善良的我們张维为楊佩潔TripleS支配物种庆余年郭葦昀洪若潭命案金惠奫2024年英雄联盟季中邀请赛春色寄情人BABYMONSTER笑看風雲乘風2024排球少年!!角色列表破墓徐巧芯中华人民共和国中華民國打天下2WIND BREAKER—防風少年—习明泽排球少年!!彭丽媛磁暴ILLIT贾斯汀·比伯逆天奇案BOYNEXTDOOR猿人爭霸戰:猩凶革命張書偉我的婆婆怎麼那麼可愛我獨自升級怪獸8號謝坤達IVE (組合)與鳳行關於我轉生變成史萊姆這檔事角色列表黃道十二宮福建號航空母艦虽然不是英雄葉乃文五月天張員瑛草榴社区張文傑2024年花蓮地震极光香緹·摩爾迷宮飯呂家愷搜查班長1958日本劉德華海莉·鮑德溫蕭景鴻越位 (足球)葬送的芙莉蓮周處除三害 (電影)毛泽东願榮光歸香港林峯周雨彤伍允龍羅毓儀香港Baike: 分類索引沒有秘密猩球崛起:終極決戰角質層唐振剛柯佳嬿文化大革命