This paper presents a new analysis technique, commutativity analysis, for automatically parallelizing computations that manipulate dynamic, pointer-based data structures. Commutat...
Teaching introductory programming today presents considerable challenges, which traditional techniques do not properly address. Students start with a wide variety of backgrounds a...
Many important applications exhibit large amounts of data parallelism, and modern computer systems are designed to take advantage of it. While much of the computation in the multi...
In functional programming, monadic characterizations of computational effects are normally understood denotationally: they describe how an effectful program can be systematically ...
Correctly predicting the direction that branches will take is increasingly important in today’s wide-issue computer architectures. The name program-based branch prediction is gi...
Brad Calder, Dirk Grunwald, Donald C. Lindsay, Jam...