Answers:
在大多数类型系统中,类型规则共同定义以下形式的判断:
这说明在上下文,表达式类型为。是的自由变量到其类型的映射。Ë τ Γ ë
类型系统将由一组公理和规则(如Raphael所指出的,一个正式的推理规则系统)组成。
公理的形式为
这说明判决(始终)成立。
一个例子是
它声明在假设变量的类型为,表达式类型为。τ X τ
推理规则将使用已经确定的事实,并从中构建更大的事实。例如推理规则
说如果我有一个事实和一个事实的派生,那么我可以得到一个事实。在这种情况下,这是键入功能应用程序的规则。 Γ ⊢ ë 2:τ Γ ⊢ ë 1 Ë 2:τ '
有两种读取此规则的方法:
一些推理规则还通过在添加新成分来操纵(自下而上查看)。这是 -abstraction 的规则:λ
基于被认为形成派生树的表达式的语法,归纳应用推理规则。在树的叶子处(顶部)是公理,并且将通过应用推理规则来形成分支。在树的最底部是您有兴趣键入的表达式。
例如,表达式的类型的派生是
这两本书都很全面,但是起步缓慢,奠定了坚实的基础。
在该Wikipedia页面中,建议“ Type Systems,Luca Cardelli,ACM Computing Surveys ”,这是一个两页的调查,可以帮助您了解如何阅读规则。无论如何,如何阅读规则在该Wikipedia页面(甚至在两页调查中甚至更好)中得到了很好的解释。但是,要了解整个内容,您需要了解什么是打字系统(由多个规则组成),对于它来说,“ 类型系统 ”的Wikipedia文章是一个好的开始(并且在该书的“ 参考 ” 部分中有几本书)页面,如果您想走得更远)。