Introduction to algorithms
Retrieving library identifiers via equational matching of types
CADE-10 Proceedings of the tenth international conference on Automated deduction
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated synthesis of interface adapters for reusable classes
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interface definition language conversions: recursive types
IDL '94 Proceedings of the workshop on Interface definition languages
A completeness theorem for Kleene algebras and the algebra of regular events
Papers presented at the IEEE symposium on Logic in computer science
Isomorphisms of types: from &lgr;-calculus to information retrieval and language design
Isomorphisms of types: from &lgr;-calculus to information retrieval and language design
Using multiset discrimination to solve language processing problems without hashing
Theoretical Computer Science
Signature matching: a tool for using software libraries
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated support for seamless interoperability in polylingual software systems
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Coinductive Axiomatization of Recursive Type Equality and Subtyping
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
Type Isomorphisms for Module Signatures
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
Concurrency and Automata on Infinite Sequences
Proceedings of the 5th GI-Conference on Theoretical Computer Science
A Deciding Algorithm for Linear Isomorphism of Types with Complexity O (n log2(n))
CTCS '97 Proceedings of the 7th International Conference on Category Theory and Computer Science
Syntactic Considerations on Recursive Types
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Mockingbird: Flexible Stub Compilation from Pairs of Declarations
ICDCS '99 Proceedings of the 19th IEEE International Conference on Distributed Computing Systems
From Polyvariant flow information to intersection and union types
Journal of Functional Programming
An Introduction to Dependent Type Theory
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Classical isomorphisms of types
Mathematical Structures in Computer Science
On the building of affine retractions
Mathematical Structures in Computer Science
Subtyping recursive types modulo associative commutative products
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Hi-index | 0.00 |
Equality and subtyping of recursive types were studied in the 1990s by Amadio and Cardelli; Kozen, Palsberg, and Schwartzbach; Brandt and Henglein; and others. Potential applications include automatic generation of bridge code for multilanguage systems and type-based retrieval of software modules from libraries. In this paper, we present an efficient decision procedure for a notion of type equality that includes unfolding of recursive types, and associativity and commutativity of product types. Advocated by Auerbach, Barton, and Raghavachari, these properties enable flexible matching of types. For two types of size at most n, our algorithm takes O (n) iterations each of which takes O (n) time, for a total of O (n2) time. 2001 Elsevier Science