We apply speculative multithreading to sequential Java programs in software to achieve speedup on existing multiprocessors. A common speculation library supports both Java bytecod...
Dependence graphs and memoization can be used to efficiently update the output of a program as the input changes dynamically. Recent work has studied techniques for combining the...
Umut A. Acar, Guy E. Blelloch, Matthias Blume, Kan...
Improving the structure of code can help developers work with a software system more efficiently and more consistently. To aid developers in re-structuring the implementation of c...
A type-indexed function is a function that is defined for each member of some family of types. Haskell’s type class mechanism provides collections of open type-indexed function...
Any finite tree automaton (or regular type) can be used to construct act interpretation of a logic program, by first determinising and completing the automaton to get a pre-inter...
John P. Gallagher, Kim S. Henriksen, Gourinath Ban...