OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
The C programming language
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Combinatory reduction systems: introduction and survey
Theoretical Computer Science - A collection of contributions in honour of Corrado Bo¨hm on the occasion of his 70th birthday
User-defined types and procedural data structures as complementary approaches to data abstraction
Theoretical aspects of object-oriented programming
Extensible records in a pure calculus of subtyping
Theoretical aspects of object-oriented programming
Simple objects for Standard ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Multi-stage programming with explicit annotations
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Type checking higher-order polymorphic multi-methods
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
A Theory of Objects
The Java Language Specification
The Java Language Specification
Modular typechecking for hierarchically extensible datatypes and functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Template meta-programming for Haskell
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
A lambda calculus of objects and method specialization
Nordic Journal of Computing
From Classes to Objects via Subtyping
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
JMatch: Iterable Abstract Pattern Matching for Java
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
On Object Calculus with Algebraic Rewriting
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
Object-Oriented Programming Versus Abstract Data Types
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
CDuce: an XML-centric general-purpose language
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A calculus with polymorphic and polyvariant flow types
Journal of Functional Programming
Hi-index | 0.00 |
We present a functional object calculus which solves the traditional conflict between matching-based functional programming and object-oriented programming, by treating uniformly method invocations and functional constructor applications. The key feature of the calculus is that each object remembers its history, that is, the series of method calls that created it. Histories allow us to classify objects in a finer way than classes do. The resulting calculus has a simple syntax and is very expressive; we give examples. Finally, we define a type system for the calculus and show its soundness: typable programs do not produce matching or method-invocation errors