Type-and-effect systems are a natural approach for statically reasoning about a program’s execution. They have been used to track a variety of computational effects, for example...
We propose a naive version of action semantics that begins with a selection of “transient” and “persistent” facets, each characterized as a partial monoid. Yielders are de...
Beluga is an environment for programming and reasoning about formal systems given by axioms and inference rules. It implements the logical framework LF for specifying and prototypi...
We propose a novel approach to proving the termination of heapmanipulating programs, which combines separation logic with cyclic proof within a Hoare-style proof system. Judgement...
James Brotherston, Richard Bornat, Cristiano Calca...
We present a technique for inducing functional programs from few, well chosen input/output-examples (I/Oexamples). Potential applications for automatic program or algorithm induct...