Full abstraction in the lazy lambda calculus
Information and Computation
Theory and Practice of Object Systems - Special issue: type systems
Objects and classes, co-algebraically
Object orientation with parallelism and persistence
Theoretical Computer Science
Compositional SOS and beyond: a coalgebraic view of open systems
Theoretical Computer Science
A Type-Theoretic Memory Model for Verification of Sequential Java Programs
WADT '99 Selected papers from the 14th International Workshop on Recent Trends in Algebraic Development Techniques
Final Semantics for untyped lambda-calculus
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Inheritance and Cofree Constructions
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
Behaviour-Refinement of Coalgebraic Specifications with Coinductive Correctness Proofs
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Final Semantics for a Higher Order Concurrent Language
CAAP '96 Proceedings of the 21st International Colloquium on Trees in Algebra and Programming
Category Theory and Computer Science
Towards a Mathematical Operational Semantics
LICS '97 Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science
Coinductive characterizations of applicative structures
Mathematical Structures in Computer Science
Coalgebraic Semantics and Observational Equivalences of an Imperative Class-based OO-Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We extend the coalgebraic account of specification and refinement of objects and classes in object-oriented programming given by Reichel and Jacobs to (generalised) binary methods. These are methods that take more than one parameter of a class type. Class types include products, sums and powerset type constructors. To allow for class constructors, we model classes as bialgebras. We study and compare two solutions for modelling generalised binary methods, which use purely covariant functors. In the first solution, which applies when we already have a class implementation, we reduce the behaviour of a generalised binary method to that of a bunch of unary methods. These are obtained by freezing the types of the extra class parameters to constant types. If all parameter types are finitary, the bisimilarity equivalence induced on objects by this model yields the greatest congruence with respect to method application. In the second solution, we treat binary methods as graphs instead of functions, thus turning contravariant occurrences in the functor into covariant ones. We show the existence of final coalgebras in both cases.