Reasoning about string variables, in particular program inputs, is an important aspect of many program analyses and testing frameworks. Program inputs invariably arrive as strings...
We present an integrated proof language for guiding the actions of multiple reasoning systems as they work together to prove complex correctness properties of imperative programs....
GADTs have proven to be an invaluable language extension, a.o. for ensuring data invariants and program correctness. Unfortunately, they pose a tough problem for type inference: w...
Tom Schrijvers, Simon L. Peyton Jones, Martin Sulz...
Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals. FRP is based on the synchr...
rrent ML, synchronization abstractions can be defined and passed as values, much like functions in ML. This mechanism admits a powerful, modular style of concurrent programming, c...
We present a new approach for constructing and verifying higherorder, imperative programs using the Coq proof assistant. We build on the past work on the Ynot system, which is bas...
Adam J. Chlipala, J. Gregory Malecha, Greg Morrise...
We describe the implementation of first-class polymorphic delimited continuations in the programming language Scala. We use Scala's pluggable typing architecture to implement...
We report on our experience using Haskell as an executable specification language in the formal verification of the seL4 microkernel. fication connects an abstract operational spe...
re a popular form of abstract computation. Being more general than monads, they are more broadly applicable, and in parare a good abstraction for signal processing and dataflow co...