Results 1 - 10
of
3,768
Subtyping recursive types
- ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 1993
"... We investigate the interactions of subtyping and recursive types, in a simply typed λ-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 equiva ..."
Abstract
-
Cited by 320 (9 self)
- Add to MetaCart
We investigate the interactions of subtyping and recursive types, in a simply typed λ-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
Recursive Types
"... Algorithms for checking subtyping between recursive types lie at the core of many modern 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 avail ..."
Abstract
- Add to MetaCart
Algorithms for checking subtyping between recursive types lie at the core of many modern 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
Recursive Types Example with Recursive Types
"... • It is useful to be able to define recursive data structures • Example: lists – A list of elements of type τ (a τ list) is either empty or it is a pair of a τ and a τ list τ list = unit + (τ × τ list) – This is a recursive equation. We take its solution to be the smallest set of values L that satis ..."
Abstract
- Add to MetaCart
• It is useful to be able to define recursive data structures • Example: lists – A list of elements of type τ (a τ list) is either empty or it is a pair of a τ and a τ list τ list = unit + (τ × τ list) – This is a recursive equation. We take its solution to be the smallest set of values L
Syntactic considerations on recursive types
- In Proceedings of the 11th Annual Symposium on Logic in Computer Science
, 1996
"... Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic for ..."
Abstract
-
Cited by 31 (0 self)
- Add to MetaCart
Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic
Equational Theories with Recursive Types
, 2005
"... Studies of equivalence for recursive types often consider impoverished type systems, where the equational theory is generated only by the fold/unfold rule µX. T (X) ≡ T (µX. T (X)). Recursive types have been applied in much richer contexts, including systems with β and η-equivalence, but without an ..."
Abstract
- Add to MetaCart
Studies of equivalence for recursive types often consider impoverished type systems, where the equational theory is generated only by the fold/unfold rule µX. T (X) ≡ T (µX. T (X)). Recursive types have been applied in much richer contexts, including systems with β and η-equivalence, but without
Decidability Properties Of Recursive Types
, 2003
"... In this paper we study decision problems and invertibility for two notions of equivalence of recursive types. In particular, for recursive types presented by means of a recursion operator µ, we describe an algorithm showing that the natural equivalence generated by finitely many steps of folding and ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
In this paper we study decision problems and invertibility for two notions of equivalence of recursive types. In particular, for recursive types presented by means of a recursion operator µ, we describe an algorithm showing that the natural equivalence generated by finitely many steps of folding
Recursive Types in Kleisli Categories
- Preprint 2004. MFPS Tutorial, April 2007 Classical Domain Theory 75/75
, 1992
"... We show that an enriched version of Freyd's principle of versality holds in the Kleisli category of a commutative strong monad with fixed-point object. This gives a general categorical setting in which it is possible to model recursive types involving the usual datatype constructors. ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
We show that an enriched version of Freyd's principle of versality holds in the Kleisli category of a commutative strong monad with fixed-point object. This gives a general categorical setting in which it is possible to model recursive types involving the usual datatype constructors.
Games for Recursive Types
- Theory and Formal Methods of Computing 1994: Proceedings of the Second Imperial College Department of Computing Workshop on Theory and Formal Methods. Imperial
, 1994
"... We present results concerning the solution of recursive domain equations in the category G of games, which is a modified version of the category presented in [AJM94]. New constructions corresponding to lifting and separated sum for games are presented, and are used to generate games for two simple r ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
recursive types: the vertical and lazy natural numbers. Recently, the "game semantics" paradigm has been used to model the multiplicative fragment of linear logic [AJ94], and to provide a solution to the full abstraction problem for PCF [AJM94, HO94], where the intensional structure of the games
Recursive Types: Lists
"... • Recall: Recursive types (e.g., τ list) make the typed lambda calculus as powerful as the untyped lambda calculus. • If τ is a subtype of σ then any expression of type τ can be used in a context that expects a σ; this is called subsumption. • A conversion is a function that converts between types. ..."
Abstract
- Add to MetaCart
• Recall: Recursive types (e.g., τ list) make the typed lambda calculus as powerful as the untyped lambda calculus. • If τ is a subtype of σ then any expression of type τ can be used in a context that expects a σ; this is called subsumption. • A conversion is a function that converts between types
Relational reasoning for recursive types and references
- ASIAN SYMPOSIUM ON PROGRAMMING LANGUAGES AND SYSTEMS (APLAS)
, 2006
"... We present a local relational reasoning method for reasoning about contextual equivalence of expressions in a λ-calculus with recursive types and general references. Our development builds on the work of Benton and Leperchey, who devised a nominal semantics and a local relational reasoning method fo ..."
Abstract
-
Cited by 31 (7 self)
- Add to MetaCart
We present a local relational reasoning method for reasoning about contextual equivalence of expressions in a λ-calculus with recursive types and general references. Our development builds on the work of Benton and Leperchey, who devised a nominal semantics and a local relational reasoning method
Results 1 - 10
of
3,768