This is a study of the computing power of the subtyping machine behind Kennedy and Pierce's nominal subtyping with variance. We depict the lattice of fragments of Kennedy and Pierce's type system and characterize their computing power in terms of regular, context-free, deterministic, and non-deterministic tree languages. Based on the theory, we present Treetop -- a generator of C# implementations of subtyping machines. The software artifact constitutes the first feasible (yet POC) fluent API generator to support context-free API protocols in a decidable type system fragment.
翻译:这是对Kennedy背后的亚型机器和Pierce名义上带有差异的亚型机器的计算能力的研究。我们描述了肯尼迪和Pierce类型系统中的碎片的瓦片,并用常规、无环境、确定性和非确定性树语描述其计算能力。根据理论,我们展示了Treetop,这是实施亚型机器C#的生成器。软件人工工艺品是第一个可行的(现为POC)流利的API生成器,用以支持无环境型系统碎片中无环境的API协议。