The theme of this paper is profunctors, and their centrality and ubiquity in understanding concurrent computation. Profunctors (a.k.a. distributors, or bimodules) are a generalisa...
We show that standard formulations of intersection type systems are unsound in the presence of computational effects, and propose a solution similar to the value restriction for ...
This paper describes the structure of, and the ideas behind, a self-applicable specializer of programs, as well as the principles of operation of a compiler generator that has been...
This paper describes two ways we have integrated algorithm animations into several computer science courses. First, we use previously existing animations during lectures to aid in...
User interface designers still have to rely on personal creativity and skill when designing computer icons for program functions that have no existing conventional representation....