Many automated programming environments construct software by integrating predefined components from a software library. A fundamental challenge in this process is to match the p...
Polymorphic equality is a controversial language construct. While being convenient for the programmer, it has been argued that polymorphic equality (1) invites to violation of soft...
Here we describe an algebraic approach to constructing a provably correct compiler for an object-oriented language called ROOL. We tackle the problem of compiler correctness by red...
Software written in one language often needs to construct sentences in another language, such as SQL queries, XML output, or shell command invocations. This is almost always done ...
Type dispatch constructs are an important feature of many programming languages. Scheme has predicates for testing the runtime type of a value. Java has a class cast expression an...