Local reasoning about programs exploits the natural local behaviour common in programs by focussing on the footprint - that part of the resource accessed by the program. We address...
In order to enable communication between a dynamic collection of peers with given ID’s, such as “machine.cs.school.edu”, over the Internet, a distributed name service must b...
Monads are commonplace programming devices that are used to uniformly structure computations with effects such as state, exceptions, and I/O. This paper further develops the monad...
Neil Ghani, Patricia Johann, Tarmo Uustalu, Varmo ...
In prior work [15] we studied a language construct restrict that allows programmers to specify that certain pointers are not aliased to other pointers used within a lexical scope....
Alexander Aiken, Jeffrey S. Foster, John Kodumal, ...
The emergence of database languages with side effects, notably for XML, raises significant challenges for database compilers and optimizers. In this paper, we extend an algebra fo...