Programming Languages and Systems (TOPLAS)


Search Issue
enter search term and/or author name


ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 26 Issue 5, September 2004

Guest editorial
Martin Odersky, Benjamin C. Pierce
Pages: 767-768
DOI: 10.1145/1018203.1018204

Modern concurrency abstractions for C#
Nick Benton, Luca Cardelli, Cédric Fournet
Pages: 769-804
DOI: 10.1145/1018203.1018205
Polyphonic C is an extension of the C language with new asynchronous concurrency constructs, based on the join calculus. We describe the design and implementation of the language and give examples of its use in...

Extensible objects without labels
Christopher A. Stone
Pages: 805-835
DOI: 10.1145/1018203.1018206
Typed object calculi that permit adding new methods to existing objects must address the problem of name clashes: what happens if a new method is added to an object already having one with the same name but a different type? Most systems statically...

Modular typechecking for hierarchically extensible datatypes and functions
Todd Millstein, Colin Bleckner, Craig Chambers
Pages: 836-889
DOI: 10.1145/1018203.1018207
One promising approach for adding object-oriented (OO) facilities to functional languages like ML is to generalize the existing datatype and function constructs to be hierarchical and extensible, so that datatype variants simulate classes and...

A semantics for advice and dynamic join points in aspect-oriented programming
Mitchell Wand, Gregor Kiczales, Christopher Dutchyn
Pages: 890-910
DOI: 10.1145/1018203.1018208
A characteristic of aspect-oriented programming, as embodied in Aspect J, is the use of advice and point cuts to define behavior that crosscuts the structure of the rest of the code. The events during execution at which advice may execute are called...