{"title":"Interpretations of the gradually-typed lambda calculus","authors":"Jeremy G. Siek, Ronald Garcia","doi":"10.1145/2661103.2661112","DOIUrl":null,"url":null,"abstract":"Gradual typing is an approach to integrating static and dynamic type checking within the same language [Siek and Taha 2006]. Given the name \"gradual typing\", one might think that the most interesting aspect is the type system. It turns out that the dynamic semantics of gradually-typed languages is more complex than the static semantics, with many points in the design space [Wadler and Findler 2009; Siek et al. 2009] and many challenges concerning efficiency [Herman et al. 2007; Hansen 2007; Siek and Taha 2007; Siek and Wadler 2010; Wrigstad et al. 2010; Rastogi et al. 2012]. In this distilled tutorial, we explore the meaning of gradual typing and the challenges to efficient implementation by writing several definitional interpreters and abstract machines in Scheme for the gradually-typed lambda calculus.","PeriodicalId":113092,"journal":{"name":"Scheme and Functional Programming","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"21","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Scheme and Functional Programming","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2661103.2661112","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 21
Abstract
Gradual typing is an approach to integrating static and dynamic type checking within the same language [Siek and Taha 2006]. Given the name "gradual typing", one might think that the most interesting aspect is the type system. It turns out that the dynamic semantics of gradually-typed languages is more complex than the static semantics, with many points in the design space [Wadler and Findler 2009; Siek et al. 2009] and many challenges concerning efficiency [Herman et al. 2007; Hansen 2007; Siek and Taha 2007; Siek and Wadler 2010; Wrigstad et al. 2010; Rastogi et al. 2012]. In this distilled tutorial, we explore the meaning of gradual typing and the challenges to efficient implementation by writing several definitional interpreters and abstract machines in Scheme for the gradually-typed lambda calculus.
渐进式类型是一种在同一语言中集成静态和动态类型检查的方法[Siek和Taha 2006]。考虑到“渐进式类型”这个名字,人们可能会认为最有趣的方面是类型系统。事实证明,渐进类型语言的动态语义比静态语义更复杂,在设计空间中有许多点[Wadler and Findler 2009;Siek et al. 2009]和许多关于效率的挑战[Herman et al. 2007;汉森2007;Siek and Taha 2007;Siek and Wadler 2010;Wrigstad et al. 2010;Rastogi et al. 2012]。在这篇经过提炼的教程中,我们将探讨渐进式类型的含义,并通过在Scheme中为渐进式lambda演算编写几个定义解释器和抽象机器来探索有效实现的挑战。