enter search term and/or author name
Modern concurrency abstractions for C#
Nick Benton, Luca Cardelli, Cédric Fournet
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
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
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
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...