On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
The Common Lisp object system: an overview
European conference on object-oriented programming on ECOOP '87
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parasitic methods: an implementation of multi-methods for Java
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
The Java Language Specification
The Java Language Specification
Deforestation: Transforming Programs to Eliminate Trees
ESOP '88 Proceedings of the 2nd European Symposium on Programming
The Essence of the Visitor Pattern
COMPSAC '98 Proceedings of the 22nd International Computer Software and Applications Conference
Specification and Implementation of Grammar Couplings using Attribute Grammars
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
JMatch: Iterable Abstract Pattern Matching for Java
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Pattern matching for object-like structures in the Go programming language
Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
Hi-index | 0.00 |
Recursive types definitions and pattern-matching are two useful built-in features of functional languages. There is no such mechanism in the Java language. In this article, we investigate different implementations to support these features in Java. First, we review methods to define recursive types. Then, we expose several approaches allowing to simulate pattern-matching on structures of these types. Finally, we present re-use techniques for algorithms featuring this mechanism.