当前位置: X-MOL 学术J. Funct. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Gradual session types
Journal of Functional Programming ( IF 1.1 ) Pub Date : 2019-11-18 , DOI: 10.1017/s0956796819000169
ATSUSHI IGARASHI , PETER THIEMANN , YUYA TSUDA , VASCO T. VASCONCELOS , PHILIP WADLER

Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages, with type disciplines in a spectrum between static and dynamic typing. Gradual session types address this mixed setting by providing a framework which grants seamless transition between statically typed handling of sessions and any required degree of dynamic typing. We propose Gradual GV as a gradually typed extension of the functional session type system GV. Following a standard framework of gradual typing, Gradual GV consists of an external language, which relaxes the type system of GV using dynamic types; an internal language with casts, for which operational semantics is given; and a cast-insertion translation from the former to the latter. We demonstrate type and communication safety as well as blame safety, thus extending previous results to functional languages with session-based communication. The interplay of linearity and dynamic types requires a novel approach to specifying the dynamics of the language.

中文翻译:

渐进式课程类型

会话类型是一种基于线性类型的丰富类型学科,它将类型系统附带的那种安全声明提升到通信。然而,基于 Web 的应用程序和微服务通常是用多种语言编写的,类型规则介于静态类型和动态类型之间。渐进式会话类型通过提供一个框架来解决这种混合设置,该框架允许在会话的静态类型处理和任何所需程度的动态类型之间进行无缝转换。我们提出渐进式 GV 作为功能会话类型系统 GV 的渐进式扩展。Gradual GV 遵循渐进类型的标准框架,由外部语言组成,它使用动态类型放宽了 GV 的类型系统;一种带有强制类型转换的内部语言,为其给出了操作语义;以及从前者到后者的铸造插入翻译。我们展示了类型和通信安全以及责备安全,从而将先前的结果扩展到具有基于会话的通信的功能语言。线性和动态类型的相互作用需要一种新的方法来指定语言的动态。
更新日期:2019-11-18
down
wechat
bug