组合子
Combinators

原始链接: https://tinyapl.rubenverg.com/docs/info/combinators

组合子是指仅引用其参数和操作数,而不以任何方式修改它们的函数或运算符。此外,一些其他基本元素也具有组合子般的行为。一些组合子以鸟名命名,源自雷蒙德·斯穆利安的《嘲笑一只知更鸟》。一些鸟名取自Uiua组合子页面。这个是我编的。

## 组合逻辑与数组语言:摘要 这次Hacker News讨论的中心是**组合逻辑**,这是一门20世纪20年代的数学分支,是现代计算的基础,并与现代编程,特别是APL和BQN等数组语言相关联。组合逻辑处理操作其他函数的函数,并且等同于lambda演算和图灵机。 链接页面 (rubenverg.com) 展示了关键的“组合子”——函数组合的基本构建块,以及它们在APL中的语法等效形式。用户讨论了这些组合子,尽管符号简短,但允许简洁地表达复杂的操作,例如仅用几个符号计算平均值。 一个关键点是**Y组合子**,它能够在缺乏原生支持的语言中实现递归。对话涉及其理论意义(与哥德尔不完备定理相关)以及由于求值策略或类型系统在某些语言中的实际限制。 许多评论者强调理解这些基础概念对软件工程的潜在好处,并遗憾于人们经常重新发明已建立的模式。 还有人讨论了与交互网的关系,作为一种潜在的实现策略。
相关文章

原文

A combinator is a function or operator that only refers to its arguments and operands without modifying them in any way.

Additionally, some other primitives have combinator-like behavior:

  1. Some combinators have bird names, originating from To Mock a Mockingbird by Raymond Smullyan. Some of the bird names are taken from the Uiua combinator page.