A future is a well-known programming construct used to introduce concurrency to sequential programs. Computations annotated as futures are executed asynchronously and run concurren...
Motivated by applications to proof assistants based on dependent types, we develop and prove correct a strong reducer and equivalence checker for the -calculus with products, sums...
We propose an extension of Haskell's type class system with bstractions in the type language. Type inference for our extension relies on a novel constrained unification proce...
Introducing priorities on rules in rewriting increases their expressive power and helps to limit computations. Priority rewriting is used in rule-based programming as well as in f...
Many recent research projects focus on language support for behavioral software contracts, that is, assertions that govern the boundaries between software building blocks such as ...