New release of Wallace
I would like to announce the availability of a new release of Wallace.
Wallace is a generic subtyping-constraint-handling library. It deals
with constraint solving and simplification, and it is parameterized by
the definition of a type algebra. Its goal is to serve as a plug-in
component in the design of a constraint-based type-checker, regardless
of the programming language being analyzed.
Its theoretical foundations are described in my PhD thesis, as well as
in my later papers.
The new release offers a clean separation between the constraint-handling
library, which is generic, and the rest of the type-checker. A sample
type-checker for a small functional programming language is provided as an
example. The library is able to deal with regular subtyping constraints, as
well as conditional constraints. The set of types, as well as the subtyping
relationship, may be defined (within certain limits) by the client. Types
and constraints may involve rows, as described by Didier Rémy in
``Projective ML''. Types may also be separated into a number of different
kinds. The library provides some support for parsing and pretty-printing
Although external documentation is still missing, the code itself is clean
and heavily documented. The library should now be useable by a programming
language implementor wishing to experiment with subtyping. I will be glad
to help if required.
More information is available at