We study encodings of the lambda-calculus into the pi-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider lambdafail, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider spi, a pi-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of lambdafail into spi and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in lambdafail via typed processes in spi. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols.
翻译:我们研究了将lambda演算编码为带有非确定性和故障的演算的pi演算中。在顺序方面,我们考虑了lambdafail,一个新的带有交集类型控制资源(项)的非确定性演算;在并发方面,我们考虑spi,一个pi演算,其中非确定性和故障基于线性逻辑和会话类型之间的Curry-Howard对应关系。我们提出了一个将lambdafail编码为spi的类型编码并验证了其正确性。我们的编码通过spi中的类型进程精确地解释了lambdafail中非确定性和故障易发生的评估之间的相互作用。特别是,它展示了顺序评估中的故障(资源的缺失/过剩)如何被整洁地编码为交互协议。