ACM Transactions on Programming Languages and Systems (TOPLAS)
Automated synthesis of interface adapters for reusable classes
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Isomorphisms of types: from &lgr;-calculus to information retrieval and language design
Isomorphisms of types: from &lgr;-calculus to information retrieval and language design
Coinductive axiomatization of recursive type equality and subtyping
Fundamenta Informaticae - Special issue: typed lambda-calculi and applications, selected papers
Variations on the Common Subexpression Problem
Journal of the ACM (JACM)
Efficient and flexible matching of recursive types
Information and Computation
A coinductive completeness proof for the equivalence of recursive types
Theoretical Computer Science
Remarks on Isomorphisms in Typed Lambda Calculi with Empty and Sum Types
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Thoughts on a Larch/ML and a New Application for LP
Proceedings of the first First International Workshop on Larch
Type Isomorphisms for Module Signatures
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Syntactic Considerations on Recursive Types
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Journal of Functional Programming
A short survey of isomorphisms of types
Mathematical Structures in Computer Science
An efficient algorithm for XML type projection
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Detection of corrupted schema mappings in XML data integration systems
ACM Transactions on Internet Technology (TOIT)
Regular expression containment: coinductive axiomatization and computational interpretation
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ontology-based documentation extraction for semi-automatic migration of Java code
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
This work sets the formal bases for building tools that help retrieve classes in object-oriented libraries. In such systems, the user provides a query, formulated as a set of class interfaces. The tool returns classes in the library that can be used to implement the user's request and automatically builds the required glue code. We propose subtyping of recursive types in the presence of associative and commutative products—that is, subtyping modulo a restricted form of type isomorphisms—as a model of the relation that exists between the user's query and the tool's answers. We show that this relation is a composition of the standard subtyping relation with equality up to associativity and commutativity of products and we present an efficient decision algorithm for it. We also provide an automatic way of constructing coercions between related types.