Section:
New Results
Functional programming with -tree syntax
Participants :
Ulysse Gerard, Dale Miller, Gabriel Scherer.
We have been designing a new functional programming language, MLTS,
that uses the -tree syntax approach to encoding
bindings that appear within data structures
[20]. In this setting, bindings never become
free nor escape their scope: instead, binders in data structures are
permitted to move into binders within programs phrases. The
design of MLTS—whose concrete syntax is based on that of
OCaml—includes additional sites within programs that directly
support this movement of bindings. Our description of MLTS includes
a typing discipline that naturally extends the typing of OCaml
programs.
In addition to the natural semantics for MLTS that we proposed in
2018, we also have a small-step operational semantics which gives in
particular a fine-grained description of the runtime behavior of the
operator in patterns. It leads in particular to a direct
implementation in Lambda-Prolog (which does not contain a native
operator) that allows more expressive constructs
(higher-arity types) than our previous presentation.