系统F,也叫做多态lambda演算或二阶lambda演算,是有类型lambda演算。它由
逻辑学家Jean-Yves Girard和计算机科学家John C. Reynolds独立发现的。系统F形式化了
编程语言中的参数
多态的概念。
系统F,和甚至更加有表达力的lambda演算一起,可被看作
Lambda立方体的一部分。
谓词是返回布尔值的函数。最基本的谓词是ISZERO,它返回TRUE当且仅当它的参数是
邱奇数0:
对应于这个结构的系统F类型是 。这个类型的项由有类型版本的
邱奇数构成,前几个是:
如果我们反转curried参数的次序(比如 ),则n的邱奇数是接受函数f作为参数并返回f的n次幂的函数。就是说,邱奇数是一个
高阶函数-- 它接受一个单一参数函数f,并返回另一个单一参数函数。
本文用的系统F版本是显式类型的,或邱奇风格的演算。包含在λ-项内的类型信息使
类型检查直接了当。Joe
Wells