Affiliation:
1. McGill University, Montreal, Canada
Abstract
Session types employ a linear type system that ensures that communication channels cannot be implicitly copied or discarded. As a result, many mechanizations of these systems require modeling channel contexts and carefully ensuring that they treat channels linearly. We demonstrate a technique that localizes linearity conditions as additional predicates embedded within type judgments, which allows us to use structural typing contexts instead of linear ones. This technique is especially relevant when leveraging (weak) higher-order abstract syntax to handle channel mobility and the intricate binding structures that arise in session-typed systems. Following this approach, we mechanize a session-typed system based on classical linear logic and its type preservation proof in the proof assistant Beluga, which uses the logical framework LF as its encoding language. We also prove adequacy for our encoding. This shows the tractability and effectiveness of our approach in modelling substructural systems such as session-typed languages.
Funder
Natural Sciences and Engineering Research Council of Canada
Fonds de recherche du Québec - Nature et Technologies
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference35 articles.
1. Stephanie Balzer and Frank Pfenning . 2017 . Manifest Sharing with Session Types. In International Conference on Functional Programming (ICFP). ACM, 37:1–37:29 . Extended version available as Technical Report http://www.cs.cmu.edu/ fp/papers/CMU-CS-17-106R.pdf Stephanie Balzer and Frank Pfenning. 2017. Manifest Sharing with Session Types. In International Conference on Functional Programming (ICFP). ACM, 37:1–37:29. Extended version available as Technical Report http://www.cs.cmu.edu/ fp/papers/CMU-CS-17-106R.pdf
2. EMTST: Engineering the Meta-theory of Session Types
3. Programming with binders and indexed data-types
4. Iliano Cervesato , Frank Pfenning , David Walker , and Kevin Watkins . 2002. A Concurrent Logical Framework II: Examples and Applications. Department of Computer Science , Carnegie Mellon University . Revised May 2003 . Iliano Cervesato, Frank Pfenning, David Walker, and Kevin Watkins. 2002. A Concurrent Logical Framework II: Examples and Applications. Department of Computer Science, Carnegie Mellon University. Revised May 2003.
5. Parametric higher-order abstract syntax for mechanized semantics
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献