Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Efficient multiple and predicated dispatching
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Algorithms: design techniques and analysis
Algorithms: design techniques and analysis
Programming Ruby: the pragmatic programmer's guide
Programming Ruby: the pragmatic programmer's guide
The Definition of Standard ML
Propositional Logic: Deduction and Algorithms
Propositional Logic: Deduction and Algorithms
Predicate Dispatching: A Unified Theory of Dispatch
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Runtime Support for Type-Safe Dynamic Java Classes
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Programming in Objective-C
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Predicate dispatch for aspect-oriented programming
Proceedings of the 2nd Workshop on Virtual Machines and Intermediate Languages for emerging modularization mechanisms
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Professional Android 2 Application Development
Professional Android 2 Application Development
Hi-index | 0.00 |
Dynamically typed languages like Ruby [19] recently gained a growing popularity due to the simplification of unforeseen software extensibility. Extensibility is typically driven by method dispatch which in turn uses the type system to classify objects. Common type systems only support type classifications attached to objects in advance of a method call. By that, the applicability of methods can be only described using existing classifications limiting the generic reuse of methods. Furthermore, it is difficult to classify objects by dynamic conditions according to their runtime state or current execution context. As an alternative, predicate dispatching allows the dispatch of methods on arbitrary predicates. Criteria for applicability are directly bound to methods enabling a flexible classification of objects. However, existing solutions for predicate dispatch suffer from co-NP-completeness. Furthermore, these solutions depend on high-level programming languages, which limits a system-wide and cross-language application of predicate dispatch. In this work, we present Predicate-C, a runtime environment that provides predicate dispatch with polynomial dispatching overhead. It is implemented as a lightweight C library that can be integrated into arbitrary runtime environments.