The C language is among the most widely used in the world, particularly for critical infrastructure software. C programs depend upon macros processed using the C preprocessor, but...
We are interested in developing a better understanding of what it is that students find difficult in learning logic. We use both natural language and diagram-based methods for teac...
Richard Cox, Robert Dale, John Etchemendy, Dave Ba...
Static and dynamic type systems have well-known strengths and weaknesses. Gradual typing provides the benefits of both in a single language by giving the programmer control over w...
Self-adjusting computation enables writing programs that can automatically and efficiently respond to changes to their data (e.g., inputs). The idea behind the approach is to stor...
We present a model of recursive and impredicatively quantified types with mutable references. We interpret in this model all of the type constructors needed for typed intermediate...
Andrew W. Appel, Christopher D. Richards, Jé...