F系统

编辑
本词条由“匿名用户” 建档。

F系统(也称多态λ微积分或二阶λ微积分)是一种类型化的λ微积分,它在简单的类型化λ微积分中引入了一种对类型进行普遍量化的机制。F系统将编程语言中的参数多态性正式化,从而形成了诸如Haskell和ML等语言的理论基础。它是由逻辑学家Jean-YvesGirard(1972)和计算机科学家JohnC.Reynolds(1974)独立发现的。简单类型的lambdacalculus的变量范围是术语,并为它...

什么是F系统

编辑

F系统(也称多态λ微积分或二阶λ微积分)是一种类型化的λ微积分,它在简单的类型化λ微积分中引入了一种对类型进行普遍量化的机制。F系统将编程语言中的参数多态性正式化,从而形成了诸如Haskell和ML等语言的理论基础。它是由逻辑学家Jean-YvesGirard(1972)和计算机科学家JohnC.Reynolds(1974)独立发现的。简单类型的lambdacalculus的变量范围是术语,并为它们提供了绑定器,而SystemF的变量范围是类型,并为它们提供了绑定器。例如,身份函数可以有A→A形式的任何类型,这一事实在系统F中被形式化为判断传统上用于表示类型级函数,而小写的则是{displaystylelambda},后者用于表示值级函数。它用于表示值级函数。(上标的{displaystylealpha}意味着边界x是一种类型。意味着边界x的类型是{displaystyle`alpha};冒号后面的表达式是前面的λ表达式的类型。冒号后面的表达式是它前面的λ表达式的类型)。作为一个术语重写系统,SystemF是强规范化的。

微积分

然而,F系统中的类型推理(没有明确的类型注释)是不可判定的。在Curry-Howard同构下,F系统对应于二阶直觉逻辑的片段,该片段只使用普遍量化。系统F可以被看作是lambdacube的一部分,同时还有更具表现力的类型化lambda计算,包括那些具有依赖类型的计算。根据Girard的说法,系统F中的F是偶然被选中的。

类型化规则

编辑

F系统的类型化规则是那些简单类型化λ计算的规则,并增加了以下内容。是绑定的。xxx个规则是应用的规则,第二个规则是抽象的规则。逻辑和谓词The{displaystyle{mathsf{Boolean}}是所有函数的类型,这些函数的输入是一个类型α和两个类型α的表达式。}是所有函数的类型,这些函数将一个类型α和两个类型α的表达式作为输入,并将一个类型α的表达式作为输出(注意,以上两个函数需要三个--而不是两个--参数。后两个应该是lambda表达式,但xxx个应该是一个类型。这一事实反映在这些表达式的类型是∀α.α→α→α{displaystyleforallalpha.alphatoalphaalpha}。;绑定α的通用量词对应于λ表达式本身中绑定α的Λ。另外,请注意也是F系统组合的元符号,方便的速记符号(在布尔巴基的意义上);否则,如果这些函数可以被命名(在F系统内),那么就不需要能够匿名定义函数的λ表达式装置,也不需要绕过这一限制的定点组合器了)。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/170831/

(1)
词条目录
  1. 什么是F系统
  2. 类型化规则

轻触这里

关闭目录

目录