In the context of program verification in an interactive theorem prover, we study the problem of transforming function definitions with ML-style (possibly overlapping) pattern mat...
A programming exercise on recursion in which students create drawings of simple and bracketed Lindenmayer Systems provides a context for exploring additional computer science conc...
Algorithms for checking subtyping between recursive types lie at the core of many programming language implementations. But the fundamental theory of these algorithms and how they...
Vladimir Gapeyev, Michael Y. Levin, Benjamin C. Pi...
In this paper, we explore the potential of the theory of nested words for partial correctness proofs of recursive programs. Our conceptual contribution is a simple framework that ...
Matthias Heizmann, Jochen Hoenicke, Andreas Podels...
Module systems are well known as a means for giving clear interfaces for the static linking of code. This paper shows how adding explicit interfaces to modules for 1) dynamic linki...