On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
An ideal model for recursive polymorphic types
Information and Control
A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
A modest model of records, inheritance, and unbounded quantification
Information and Computation - Selections from 1988 IEEE symposium on logic in computer science
F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Recursion over realizability structures
Information and Computation
Type inference with recursive types: syntax and semantics
Information and Computation
Inheritance as implicit coercion
Information and Computation
Systems programming with Modula-3
Systems programming with Modula-3
Bounded quantification is undecidable
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Two Complete Axiom Systems for the Algebra of Regular Events
Journal of the ACM (JACM)
Proceedings of the Thirteenth Spring School of the LITP on Combinators and Functional Programming Languages
Concurrency and Automata on Infinite Sequences
Proceedings of the 5th GI-Conference on Theoretical Computer Science
Typed Equivalence, Type Assignment, and Type Containment
Proceedings of the 2nd International CTRS Workshop on Conditional and Typed Rewriting Systems
A denotational semantics of inheritance
A denotational semantics of inheritance
Report on the algorithmic language ALGOL 68
Report on the algorithmic language ALGOL 68
A type system equivalent to flow analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system equivalent to flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Complexity of kernel Fun subtype checking
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Constrained types and their expressiveness
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
What are principal typings and what are they good for?
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementing signatures for C++
ACM Transactions on Programming Languages and Systems (TOPLAS)
A modular, polyvariant and type-based closure analysis
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Objective ML: a simple object-oriented extension of ML
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Typing algorithm in type theory with inheritance
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From polyvariant flow information to intersection and union types
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Multiple dispatch as dispatch on Tuples
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An efficient method for checking object-oriented database schema correctness
ACM Transactions on Database Systems (TODS)
Equality-based flow analysis versus recursive types
ACM Transactions on Programming Languages and Systems (TOPLAS)
The design of a class mechanism for Moby
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
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
Recursive subtyping revealed: (functional pearl)
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A model for compound type changes encountered in schema evolution
ACM Transactions on Database Systems (TODS)
An efficient class and object encoding
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The first-order theory of subtyping constraints
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient and flexible matching of recursive types
Information and Computation
A typed text retrieval query language for XML documents
Journal of the American Society for Information Science and Technology - XML
Information and Computation - FOOL V
Satisfying subtype inequalities in polynomial space
Theoretical Computer Science
Information and Computation
Open and closed scopes for constrained genericity
Theoretical Computer Science
A coinductive completeness proof for the equivalence of recursive types
Theoretical Computer Science
Research Frontiers in Object Technology
Information Systems Frontiers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference for variant object types
Information and Computation - FOOL VII
Typed compilation of recursive datatypes
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Optimal Representations of Polymorphic Types with Subtyping
Higher-Order and Symbolic Computation
Recursive object types in a logic of object-oriented programs
Nordic Journal of Computing
PolyTOIL: A type-safe polymorphic object-oriented language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Faithful Translations between Polyvariant Flows and Polymorphic Types
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
A Theory of Second-Order Trees
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Fixed-Point Logic with the Approximation Modality and Its Kripke Completeness
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Non-structural Subtype Entailment in Automata Theory
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
An Algebraic Framework for Separate Type-Checking
WADT '98 Selected papers from the 13th International Workshop on Recent Trends in Algebraic Development Techniques
Entailment of Non-structural Subtype Constraints
ASIAN '99 Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Incremental Inference of Partial Types
ICTCS '01 Proceedings of the 7th Italian Conference on Theoretical Computer Science
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
An Introduction to Dependent Type Theory
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Anti-Symmetry of Higher-Order Subtyping
CSL '99 Proceedings of the 13th International Workshop and 8th Annual Conference of the EACSL on Computer Science Logic
PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Syntactic Considerations on Recursive Types
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Efficient and Flexible Matching of Recursive Types
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Typed operational semantics for higher-order subtyping
Information and Computation
Non-structural subtype entailment in automata theory
Information and Computation - TACS 2001
Isomorphisms of generic recursive polynomial types
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular control-flow analysis with rank 2 intersection types
Mathematical Structures in Computer Science
A calculus with polymorphic and polyvariant flow types
Journal of Functional Programming
From Polyvariant flow information to intersection and union types
Journal of Functional Programming
A generic type system for the Pi-calculus
Theoretical Computer Science
Type inference for record concatenation and subtyping
Information and Computation
Higher-order subtyping and its decidability
Information and Computation
Typing constraint logic programs
Theory and Practice of Logic Programming
Regular expression types for XML
ACM Transactions on Programming Languages and Systems (TOPLAS)
A gentle introduction to semantic subtyping
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Subtyping, recursion, and parametric polymorphism in kernel fun
Information and Computation
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
A short survey of isomorphisms of types
Mathematical Structures in Computer Science
Modular set-based analysis from contracts
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Anti-symmetry of higher-order subtyping and equality by subtyping
Mathematical Structures in Computer Science
Denotational semantics for a program logic of objects
Mathematical Structures in Computer Science
The meta-object facility typed
Proceedings of the 2006 ACM symposium on Applied computing
Role-based access control for a distributed calculus
Journal of Computer Security - Special issue on CSFW17
Theoretical Computer Science - Clifford lectures and the mathematical foundations of programming semantics
On Problems in Polymorphic Object-Oriented Languages With Self Types and Matching
Fundamenta Informaticae
Theoretical Computer Science
Lingua Franca: an IDL for structural subtyping distributed object systems
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
High Performance Development for High End Computing With Python Language Wrapper (PLW)
International Journal of High Performance Computing Applications
A type system for recursive modules
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
A duality between proof systems for cyclic term graphs
Mathematical Structures in Computer Science
Journal of Functional Programming
A theory of platform-dependent low-level software
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system equivalent to a model checker
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types
Journal of the ACM (JACM)
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Shared subtypes: subtyping recursive parametrized algebraic data types
Proceedings of the first ACM SIGPLAN symposium on Haskell
Whiteoak: introducing structural typing into java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
On the origins of bisimulation and coinduction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Is Structural Subtyping Useful? An Empirical Study
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
PiDuce - A project for experimenting Web services technologies
Science of Computer Programming
Type Inference by Coinductive Logic Programming
Types for Proofs and Programs
Coinductive Type Systems for Object-Oriented Languages
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Subtyping recursion and parametric polymorphism in kernel fun
Information and Computation
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
Subtyping, declaratively: an exercise in mixed induction and coinduction
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
A typed store-passing translation for general references
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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)
Full abstraction in a subtyped pi-calculus with linear types
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
A syntactic type system for recursive modules
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
λ-RBAC: programming with role-based access control
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part II
Error mining for regular expression patterns
ICTCS'05 Proceedings of the 9th Italian conference on Theoretical Computer Science
Patterns and types for querying XML documents
DBPL'05 Proceedings of the 10th international conference on Database Programming Languages
Denotational semantics for abadi and leino's logic of objects
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Subtyping first-class polymorphic components
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Complexity of subtype satisfiability over posets
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
A type system equivalent to a model checker
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Towards type inference for javascript
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Subtyping recursive types modulo associative commutative products
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
PiDuce: a process calculus with native XML datatypes
EPEW'05/WS-FM'05 Proceedings of the 2005 international conference on European Performance Engineering, and Web Services and Formal Methods, international conference on Formal Techniques for Computer Systems and Business Processes
A basic contract language for web services
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
A type theoretic framework for formal metamodelling
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Control-flow analysis of functional programs
ACM Computing Surveys (CSUR)
Union and intersection types for secure protocol implementations
TOSCA'11 Proceedings of the 2011 international conference on Theory of Security and Applications
Subtyping for f-bounded quantifiers and equirecursive types
Logic and Program Semantics
Subtyping by folding an inductive relation into a coinductive one
TFP'11 Proceedings of the 12th international conference on Trends in Functional Programming
Soundness of object-oriented languages with coinductive big-step semantics
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
On Problems in Polymorphic Object-Oriented Languages With Self Types and Matching
Fundamenta Informaticae
Coinductive Axiomatization of Recursive Type Equality and Subtyping
Fundamenta Informaticae
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
Journal of Computer Security - Foundational Aspects of Security
Hi-index | 0.01 |
We investigate the interactions of subtyping and recursive types, in a simply typed &lgr;-calculus. The two fundamental questions here are whether two (recursive)types are in the subtype relation and whether a term has a type. To address the first question, we relate various definitions of type equivalence and subtyping that are induced by a model, an ordering on infinite trees, an algorithm, and a set of type rules. We show soundness and completeness among the rules, the algorithm, and the tree semantics. We also prove soundness and a restricted form of completeness for the model. To address the second question, we show that to every pair of types in the subtype relation we can associate a term whose denotation is the uniquely determined coercion map between the two types. Moreover, we derive an algorithm that, when given a term with implicit coercions, can infer its least type whenever possible.