English

Contextual Metaprogramming for Session Types

Programming Languages 2026-01-22 v1

Abstract

We propose the integration of staged metaprogramming into a session-typed message passing functional language. We build on a model of contextual modal type theory with multi-level contexts, where contextual values, closing arbitrary terms over a series of variables, may be boxed and transmitted in messages. Once received, one such value may then be unboxed and locally applied before being run. To motivate this integration, we present examples of real-world use cases, for which our system would be suitable, such as servers preparing and shipping code on demand via session typed messages. We present a type system that distinguishes linear (used exactly once) from unrestricted (used an unbounded number of times) resources, and further define a type checker, suitable for a concrete implementation. We show type preservation, a progress result for sequential computations and absence of runtime errors for the concurrent runtime environment, as well as the correctness of the type checker.

Keywords

Cite

@article{arxiv.2601.15180,
  title  = {Contextual Metaprogramming for Session Types},
  author = {Pedro Ângelo and Atsushi Igarashi and Yuito Murase and Vasco T. Vasconcelos},
  journal= {arXiv preprint arXiv:2601.15180},
  year   = {2026}
}

Comments

36 pages, 14 figures, ESOP 2026