代码之家  ›  专栏  ›  技术社区  ›  Randall Schulz

寻找函数式编程词典

  •  15
  • Randall Schulz  · 技术社区  · 14 年前

    了解一个领域的暗语对我有很大帮助,特别是因为它使我能够与那些比我知道得多的人进行智能对话,所以我想找到一个很好的函数式编程术语词典。

    例如,我反复遇到这些:函子,箭头,范畴,克莱斯利,单子,幺半群,一个名副其实的态射动物园,等等。我还注意到其中许多出现的前缀,如“协变”,“co-”,“endo-”等。

    其中,我可以说我真的理解了幺半群和协变,有点像单子,但其余的对我来说仍然是胡言乱语(请注意,我并不是说这个列表是详尽无遗的,我不希望在这里为我定义或描述这些,我是在寻找学习资源。)

    有人能给我指一下FP词典吗?它不需要在线,只要有可能找到它(而且这不是一本罕见的书,我要花几十美元)。

    3 回复  |  直到 14 年前
        1
  •  9
  •   Gumbo    14 年前

    正如其他答案所指出的,要真正理解这些术语,你必须学习范畴理论。然而,范畴理论是非常抽象的,可能无法帮助你立即建立直觉。为了看到抽象概念的实际应用,我强烈推荐Typeclassopedia( PDF ) ( blog announcement ).

        2
  •  7
  •   Norman Ramsey    12 年前

    这些不是函数式编程术语;它们是范畴论中的术语。确实,少数优秀的函数式程序员似乎使用范畴理论来洞察函数式编程(Conal Elliott、Ralf Hinze、Chung Chieh Shan、phone your office),但这些人是少数。关于这些条款,我挣扎皮尔斯的书,但我不知道一个更好的来源,虽然 Dan Piponi 在他的博客上有很多相关的资料;我鼓励你去那里看看( :哈罗德·西蒙斯(Harold Simmons)有一本关于范畴理论的新书,看起来相当不错,而且它受到了许多学者的好评 计算机评论 [在付费墙后面]。唯一的抱怨是这些例子都来自数学,而不是计算机。)

    用Haskell编程 可能是一个开始的地方,或者理查德·伯德和菲尔·瓦德勒的旧书。

        3
  •  5
  •   Pascal Cuoq    14 年前

    你用的很多术语都来自范畴理论,在这种情况下,我所知道的最好的资源就是本杰明·皮尔斯的《计算机科学家的基本范畴理论》