Session types enable the static verification of message-passing programs. A session type specifies a channel's protocol as sequences of messages. Prior work established a minimality result: every process typable with standard session types can be compiled down to a process typable using minimal session types: session types without sequencing construct. This result justifies session types in terms of themselves; it holds for a higher-order session \pi-calculus, where values are abstractions (functions from names to processes). This paper establishes a minimality result but now for the session \pi-calculus, the language in which values are names and for which session types have been more widely studied. This new minimality result for the session \pi-calculus can be obtained by composing existing results. We develop associated optimizations of this result, and establish its static and dynamic correctness.
翻译:会话类型允许静态校验信件传递程序。 会话类型指定频道协议为信件序列。 先前的工作确立了一个最小值结果: 使用最小会话类型可以将标准会话类型的每个进程编成一个可使用最小会话类型打印的程序: 会话类型没有顺序构造。 此结果可以说明会话类型本身的合理性; 会话类型属于更高层次的会话 \ pi- 计算过程, 其值是抽象的( 从名称到过程的功能) 。 此文件确定了一个最小值结果, 但对于会话来说, 确定一个最小值结果, 此时为 \ pi- 计算, 数值是名称的语言, 而会话类型也得到了更广泛的研究。 通过将现有结果组合起来, 就可以为会话的新的最小值结果。 我们开发此结果的相关优化, 并确立其静态和动态的正确性 。