Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A semantics of introspection in a reflective prototype-based language
Lisp and Symbolic Computation - Special issue on computational reflection
Split objects: a disciplined use of delegation within objects
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Efficient multiple and predicated dispatching
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object Schizophrenia Problem in Object Role System Design
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Predicate Dispatching: A Unified Theory of Dispatch
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Dynamically scoped functions as the essence of AOP
ACM SIGPLAN Notices
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Highly dynamic behaviour adaptability through prototypes with subjective multimethods
Proceedings of the 2007 symposium on Dynamic languages
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Self-Sustaining Systems
Classboxes: controlling visibility of class extensions
Computer Languages, Systems and Structures
SC'06 Proceedings of the 5th international conference on Software Composition
Subjective-C: bringing context to mobile platform programming
SLE'10 Proceedings of the Third international conference on Software language engineering
Decoupling context: introducing quantification in object teams
Proceedings of the 2012 workshop on Modularity in Systems Software
Context-oriented programming: A software engineering perspective
Journal of Systems and Software
Uniting global and local context behavior with context Petri nets
Proceedings of the International Workshop on Context-Oriented Programming
Interruptible context-dependent executions: a fresh look at programming context-aware applications
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Proceedings of the 3rd international workshop on Free composition
Hi-index | 0.00 |
This paper presents predicated generic functions, a novel programming language abstraction that allows the expression of context-dependent behaviour in a declarative and modular manner, providing fine-grained control ofmethod applicability and method specificity. Methods are guarded by predicates with user-defined orderings, thereby increasing the expressiveness of existing method dispatching approaches. We have prototyped our proposal in Lambic, an extension of the standard Common Lisp Object System. We illustrate and motivate our approach by discussing the implementation of a collaborative graphical editor.