有类型的SKI演算吗?


26

我们大多数人都知道组合逻辑Lambda微积分之间的对应关系。但是我从来没有见过(也许我不够深入)相当于“类型化组合器”(相当于简单类型的lambda微积分)的内容。这样的东西存在吗?在哪里可以找到有关它的信息?


您可能会感兴趣的读者Monad的抽象和消除该Monad.Reader,第17期。Reader monad(或更确切地说是其应用函子)与键入的SKI密切相关。
PetrPudlák'12

Answers:


18

与简单类型的lambda演算相比,类型组合子的表达完整性得到了证明。对于每个无类型的组合器,都需要一整个系列的类型化组合器。例如,有一个

  • Iαα
  • Kα(βα)
  • Sα(βγ)(αβ(αγ))

适用于所有简单类型和。α,βγ

另外,只需将类型视为类型方案(或多态类型),然后将其输入Haskell和voila:combinators即可


我从没想到组合器会作用于Monad!是这样吗?S
雨果·塞雷诺·费雷拉

其实,我已经指出,对应于应用型仿函数的运营商,并在。S<*>pureK
雨果·塞雷诺·费雷拉

S是非常基础的,因此它可以对应许多东西。与函子具有与monad函数相同的类型。SapΛX.αX
戴夫·克拉克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.