Provingly Correct Optimisations on Intrinsically Typed Expressions (Extended Abstract)
When writing a compiler for a functional programming language, an important consideration is the treatment of binders and variables. A well-known technique when using dependently typed programming languages such as Agda is to define an intrinsically typed syntax tree, where expressions are scope- and type-safe by construction and admit a total evaluation function. This construction has featured in several papers, exploring basic operations like renaming and substitution as well as compilation to different target languages.
While optimisations play an important role in compilers and establishing their correctness is often not trivial, there has been little focus on performing optimisations on intrinsically typed programs. In this setting, program analysis not only needs to identify optimisation opportunities, but provide a proof witness that the optimisation is safe, e.g. that some dead code is indeed not used. For transformations on intrinsically typed programs, the programmer can rely on the compiler to check the relevant invariants, but it can be cumbersome to make it sufficiently clear that type- and scope-safety are preserved, especially when manipulating binders and variables.
Since our work is still in progress, we will mainly present a specific optimisation, dead binding elimination. It is implemented by first annotating expressions with variable usage information and then removing the bindings that turn out to be unused. We further prove that the optimisation is semantics-preserving.
Sun 11 SepDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
09:00 - 10:30 | TyDe 1TyDe at Club CD Chair(s): Hsiang-Shang ‘Josh’ Ko Institute of Information Science, Academia Sinica | ||
09:00 18mFull-paper | A Hoare-Logic Style Refinement Types FormalisationVirtual TyDe Zilin Chen UNSW Sydney Link to publication DOI | ||
09:18 18mFull-paper | Computing with Generic Trees in Agda TyDe | ||
09:36 18mShort-paper | Contextual Algebraic Theories: Generic Boilerplate beyond Abstraction (Extended Abstract) TyDe Andreas Nuyts KU Leuven, Belgium Link to publication | ||
09:54 18mShort-paper | Provingly Correct Optimisations on Intrinsically Typed Expressions (Extended Abstract) TyDe Matthias Heinzel Utrecht University Pre-print | ||
10:12 18mFull-paper | Structural Refinement Types TyDe David Binder University of Tübingen, Ingo Skupin University of Tübingen, David Läwen University of Tübingen, Germany, Klaus Ostermann University of Tübingen Pre-print |