首页> 外文会议>International Symposium on Functional and Logic Programming >Session Types Without Sophistry System Description
【24h】

Session Types Without Sophistry System Description

机译:没有诡辩系统描述的会话类型

获取原文

摘要

Whereas ordinary types approximate the results, session types approximate communication among computations. As a form of typestate, they describe not only what is communicated now but also what is to be communicated next. Writing session-typed programs in an ordinary programming language such an OCaml requires inordinary cleverness to simulate type-level computations and linear typing meaning the implementation and the error messages are very hard to understand. One is constantly reminded of template metaprogramming in C++. We present a system exploring a very different approach to session typing: lowering type-level sophistry to ordinary programming, while maintaining the static assurances. Error messages are detailed and customizable, and one can use an ordinary debugger to investigate session-type problems. Our system is a binary-session-typed DSL for service-oriented programming in OCaml, supporting multiple communication channels, internal and external choices, recursion, and also channel delegation. The key idea is staging: ordinary run-time checks in the generator play the role of "type-checks" from the point of view of the generated program. What is a fancy type to the latter is ordinary data to the generator.
机译:虽然普通类型是近似结果,但会话类型在计算之间的近似通信。作为一种类型的类型,它们不仅描述了现在传达的内容,而且还要接下来要传达的内容。在普通的编程语言中编写会话类型的程序,这种OCAML需要非规范巧妙来模拟类型级计算和线性打字,这意味着实现和错误消息很难理解。一个人不断提醒C ++中的模板元编程。我们展示了一个系统探索了一个非常不同的会话方法方法:降低类型级诡计到普通编程,同时保持静态保证。错误消息详细且可自定义,可以使用普通调试器来调查会话类型问题。我们的系统是一个二进制会话类型的DSL,用于OCAML中的面向服务的编程,支持多个通信通道,内部和外部选项,递归和频道委派。关键的想法是暂存:生成器中的普通运行时检查从生成的程序的角度播放“类型检查”的角色。什么是后者的幻想类型是发电机的普通数据。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号