An ideal model for recursive polymorphic types
Information and Control
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference with recursive types: syntax and semantics
Information and Computation
Co-induction in relational semantics
Theoretical Computer Science
Semantics of programming languages: structures and techniques
Semantics of programming languages: structures and techniques
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Foundations of programming languages
Foundations of programming languages
Vicious circles: on the mathematics of non-wellfounded phenomena
Vicious circles: on the mathematics of non-wellfounded phenomena
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Regular expression types for XML
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Recursive Types Are not Conservative over F
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Coinductive Axiomatization of Recursive Type Equality and Subtyping
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
Concurrency and Automata on Infinite Sequences
Proceedings of the 5th GI-Conference on Theoretical Computer Science
Syntactic Considerations on Recursive Types
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Semantic types: a fresh look at the ideal model for types
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Numbering matters: first-order canonical forms for second-order recursive types
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Polymorphic regular tree types and patterns
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical Computer Science
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Types and Deadlock Freedom in a Calculus of Services, Sessions and Pipelines
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Coinductive big-step operational semantics
Information and Computation
A type system for discretionary access control†
Mathematical Structures in Computer Science
Electronic Notes in Theoretical Computer Science (ENTCS)
How to infer finite session types in a calculus of services and sessions
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
Subtyping, declaratively: an exercise in mixed induction and coinduction
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Regular expression containment: coinductive axiomatization and computational interpretation
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamics for ML using Meta-Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Subtyping recursive types modulo associative commutative products
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Coinductive big-step operational semantics
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Subtyping by folding an inductive relation into a coinductive one
TFP'11 Proceedings of the 12th international conference on Trends in Functional Programming
A calculus for constraint-based flow typing
Proceedings of the 15th Workshop on Formal Techniques for Java-like Programs
Contractive signatures with recursive types, type parameters, and abstract types
ICALP'13 Proceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part II
Hi-index | 0.00 |
Algorithms for checking subtyping between recursive types lie at the core of many programming language implementations. But the fundamental theory of these algorithms and how they relate to simpler declarative specifications is not widely understood, due in part to the difficulty of the available introductions to the area. This tutorial paper offers an ‘end-to-end’ introduction to recursive types and subtyping algorithms, from basic theory to efficient implementation, set in the unifying mathematical framework of coinduction.