一种面向类型的、字典传递的方法重载和结构子类型化在轻量级通用Go语言中的翻译
摘要:轻量级通用Go (FGG) 是对编程语言Go的基本特性进行建模的最小核心演算。它包含对重载方法、接口类型、结构子类型和泛型的支持。关于FGG程序的动态行为的最直接的语义描述是基于接收者的运行时类型信息来解决方法调用。 本文通过定义一种从FGG-到无类型λ演算的类型导向转换展示了一种不同的方法。FGG-包含了FGG的所有特性,但不包括类型断言。FGG-程序的转换提供了作为额外字典参数方法可用性的证明,类似于Haskell类型类的字典传递方法。然后,方法调用可以通过在字典中查找方法定义来解决。 转换图像中的每个程序与其源FGG-程序具有相同的动态语义。该结果的证明是基于一种基于语法和步骤索引的逻辑关系。步骤索引确保在存在递归接口类型和递归方法的情况下,关系的定义是良定义的。尽管是非确定性的,但转换是连贯的。
作者:Martin Sulzmann and Stefan Wehr
论文ID:2209.08511
分类:Programming Languages
分类简称:cs.PL
提交时间:2023-08-08