2022
DOI: 10.1145/3498700
|View full text |Cite
|
Sign up to set email alerts
|

Mœbius: metaprogramming using contextual types: the stage where system f can pattern match on itself

Abstract: We describe the foundation of the metaprogramming language, Mœbius, which supports the generation of polymorphic code and, more importantly, the analysis of polymorphic code via pattern matching. Mœbius has two main ingredients: 1) we exploit contextual modal types to describe open code together with the context in which it is meaningful. In Mœbius, open code can depend on type and term variables (level 0) whose values are supplied at a later stage, as well as code variables (level 1) that stand for … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
18
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 14 publications
(18 citation statements)
references
References 26 publications
0
18
0
Order By: Relevance
“…We believe it is not difficult to apply polymorphic context types to dual-context CMTT, although we do not explore it in this paper. CMTT provides a basis for several metaprogramming languages [9,20,26]. We expect that λ ∀[] will contribute to future designs of metaprogramming languages as well.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…We believe it is not difficult to apply polymorphic context types to dual-context CMTT, although we do not explore it in this paper. CMTT provides a basis for several metaprogramming languages [9,20,26]. We expect that λ ∀[] will contribute to future designs of metaprogramming languages as well.…”
Section: Related Workmentioning
confidence: 99%
“…Pattern matching against code Analytic metaprogramming that allows pattern matching against code values is considered beneficial and explored recently [18,28,9]. Especially, Moebius [9] provides a contextual modal type system capable of pattern matching against open code with polymorphic types. It should be feasible to extend λ ∀[] to allow pattern matching against code values, but it is left for future work.…”
Section: Related Workmentioning
confidence: 99%
“…There are several modal multi-stage systems which support runtime code generation but not staged compilation, such as those based on S4 modalities (e.g. [Davies and Pfenning 2001]) or contextual modalities ( [Jang et al 2022]).…”
Section: Related Workmentioning
confidence: 99%
“…In recent years, modal type systems based on this dual-context style have received renewed attention and provided insights into a wide range of seemingly unconnected areas: from reasoning about universes in homotopy type theory [28,36] to mechanizing meta-theory [34,35], to reasoning about effects [38], and meta-programming [25]. This line of work builds on the dual-context formulation of Pfenning and Davies.…”
Section: Introductionmentioning
confidence: 99%