Proofs and types
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract types have existential types
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Continuation models are universal for lambda-mu-calculus
LICS '97 Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science
Call-by-value is dual to call-by-name
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Control categories and duality: on the categorical semantics of the lambda-mu calculus
Mathematical Structures in Computer Science
A sound and complete CPS-translation for λµ-calculus
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
Undecidability of Type-Checking in Domain-Free Typed Lambda-Calculi with Existence
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
Existential Type Systems with No Types in Terms
TLCA '09 Proceedings of the 9th International Conference on Typed Lambda Calculi and Applications
Type checking and inference for polymorphic and existential types
CATS '09 Proceedings of the Fifteenth Australasian Symposium on Computing: The Australasian Theory - Volume 94
Type checking and inference are equivalent in lambda calculi with existential types
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
Multiversal Polymorphic Algebraic Theories: Syntax, Semantics, Translations, and Equational Logic
LICS '13 Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
Hi-index | 0.00 |
We show that there exist bijective translations between polymorphic λ-calculus and a subsystem of minimal logic with existential types, which form a Galois connection and moreover a Galois embedding. From a programming point of view, this result means that polymorphic functions can be represented by abstract data types.