Introduction to combinators and &lgr;-calculus
Introduction to combinators and &lgr;-calculus
Provable isomorphisms and domain equations in models of typed languages
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
CADE-10 Proceedings of the tenth international conference on Automated deduction
Retrieving library identifiers via equational matching of types
CADE-10 Proceedings of the tenth international conference on Automated deduction
Retrieving re-usable software components by polymorphic type
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
A confluent reduction for the &lgr;-calculus with surjective pairing and terminal object
Proceedings of the 18th international colloquium on Automata, languages and programming
Signature matching: a tool for using software libraries
ACM Transactions on Software Engineering and Methodology (TOSEM)
Specification matching of software components
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Specification matching of software components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Storing and Retrieving Software Components: A Refinement Based System
IEEE Transactions on Software Engineering
Efficient algorithms for isomorphisms of simple types
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Memoization in Type-Directed Partial Evaluation
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
A Linear Logical View of Linear Type Isomorphisms
CSL '99 Proceedings of the 13th International Workshop and 8th Annual Conference of the EACSL on Computer Science Logic
Efficient algorithms for isomorphisms of simple types
Mathematical Structures in Computer Science
An approach to completing variable names for implicitly typed functional languages
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Hi-index | 0.00 |
This paper contains a full treatment of isomorphic types for languages equipped with an ML style polymorphic type inference mechanism. Surprisingly enough the results obtained contradict the common-place feeling that (the core of) ML is a subset of second order &lgr;-calculus: we can provide an isomorphism of types that holds in the core ML language, but not in second order &lgr;-calculus. This new isomorphism not only allows to provide a complete (and decidable) axiomatisation of all the type isomorphic in ML style languages, a relevant issue for the type as specifications paradigm in library searches, but also suggest a natural extension that in a sense completes the type-inference mechanism in ML. This extension is easy to implement and allows to get a further insight in the nature of the let polymorphic construct.