Ran*_*ulz 15 functional-programming
知道一个字段的问题对我有很大的帮助,特别是因为它允许我与那些比我更了解的人聪明地交谈,所以我想找到一个很好的功能编程术语词典.
例如,我反复遇到这些:Functor,Arrow,Category,Kleisli,Monad,Monoid,一个名副其实的态射动物园等等.我也注意到其中许多出现了前缀,如"covariant","co-","endo- "等
其中,我可以说我实际上理解Monoid和Covariant有点得到Monad,但其余的仍然是我的胡言乱语.(请注意,我并不是说这个列表是详尽的,我不打算在这里定义或描述这些,我正在寻找学习资源.)
有人能指出我的FP词汇吗?它不需要在线,只要有可能找到它(并且它不是一个罕见的卷,我必须支付几十美元).
这些不是功能编程术语; 他们是类别理论的术语.确实,少数精英功能程序员似乎使用类别理论来深入了解函数式编程(Conal Elliott,Ralf Hinze,Chung-Chieh Shan,给你的办公室打电话),但这些人是少数.关于这些条款,我在与皮尔斯的书中挣扎,但我不知道更好的消息来源 - 尽管Dan Piponi在他的博客上有很多相关资料; 我鼓励你去看那里.(2012年更新:哈罗德西蒙斯有一本关于类别理论的新书看起来相当不错,并且它得到了计算机评论 [在付费墙背后]的很好的评论.唯一的抱怨是这些例子都来自数学,而不是来自计算.)
您可能从功能程序员那里听到的一些词:"地图功能","折叠功能","高阶功能","无点编程","和型","产品类型","催眠术","教会编码" ","计算程序","类型导向编程","正确的尾调用","累积参数".我不知道聚集在一个地方的好词汇.Graham Hutton的书" 在哈斯克尔编程"可能是一个开始的地方,或者是理查德·伯德和菲尔·瓦德勒的旧书.