Results 1 - 10
of
15
Inductive and Coinductive types with Iteration and Recursion
- Proceedings of the 1992 Workshop on Types for Proofs and Programs, Bastad
, 1992
"... We study (extensions of) simply and polymorphically typed lambda calculus from a point of view of how iterative and recursive functions on inductive types are represented. The inductive types can usually be understood as initial algebras in a certain category and then recursion can be defined in ter ..."
Abstract
-
Cited by 49 (0 self)
- Add to MetaCart
We study (extensions of) simply and polymorphically typed lambda calculus from a point of view of how iterative and recursive functions on inductive types are represented. The inductive types can usually be understood as initial algebras in a certain category and then recursion can be defined in terms of iteration. However, in the syntax we often have only weak initiality, which makes the definition of recursion in terms of iteration inefficient or just impossible. We propose a categorical notion of (primitive) recursion which can easily be added as computation rule to a typed lambda calculus and gives us a clear view on what the dual of recursion, corecursion, on coinductive types is. (The same notion has, independently, been proposed by [Mendler 1991].) We look at how these syntactic notions work out in the simply typed lambda calculus and the polymorphic lambda calculus. It will turn out that in the syntax, recursion can be defined in terms of corecursion and vice versa using polymo...
Polarized Higher-Order Subtyping
, 1997
"... The calculus of higher order subtyping, known as F ω ≤ , a higher-order polymorphic λ-calculus with subtyping, is expressive enough to serve as core calculus for typed object-oriented languages. The versions considered in the literature usually support only pointwise subtyping of type operators, whe ..."
Abstract
-
Cited by 28 (1 self)
- Add to MetaCart
The calculus of higher order subtyping, known as F ω ≤ , a higher-order polymorphic λ-calculus with subtyping, is expressive enough to serve as core calculus for typed object-oriented languages. The versions considered in the literature usually support only pointwise subtyping of type operators, where two types S U and T U are in subtype relation, if S and T are. In the widely cited, unpublished note [Car90], Cardelli presents F ω ≤ in a more general form going beyond pointwise subtyping of type applications in distinguishing between monotone and antimonotone operators. Thus, for instance, T U1 is a subtype of T U2, if U1 ≤ U2 and T is a monotone operator. My thesis extends F ω ≤ by polarized application, it explores its proof theory, establishing decidability of polarized F ω ≤. The inclusion of polarized application rules leads to an interdependence of the subtyping and the kinding system. This contrasts with pure F ω ≤ , where subtyping depends on kinding but not vice versa. To retain decidability of the system, the equal-bounds subtyping rule for all-types is rephrased in the polarized setting as a mutual-subtype requirement of the upper bounds.
Monadic Maps and Folds for Arbitrary Datatypes
- Memoranda Informatica, University of Twente
, 1994
"... Each datatype constructor comes equiped not only with a so-called map and fold (catamorphism), as is widely known, but, under some condition, also with a kind of map and fold that are related to an arbitrary given monad. This result follows from the preservation of initiality under lifting from the ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
Each datatype constructor comes equiped not only with a so-called map and fold (catamorphism), as is widely known, but, under some condition, also with a kind of map and fold that are related to an arbitrary given monad. This result follows from the preservation of initiality under lifting from the category of algebras in a given category to a certain other category of algebras in the Kleisli category related to the monad.
Type Parametric Programming
, 1993
"... We introduce a new abstraction mechanism, type parametric combinators, which supports abstraction over type constructors defined by datatype declarations found in functional languages such as Miranda, Haskell, and ML. This mechanism allows the definition and use of high level abstractions not pos ..."
Abstract
-
Cited by 13 (5 self)
- Add to MetaCart
We introduce a new abstraction mechanism, type parametric combinators, which supports abstraction over type constructors defined by datatype declarations found in functional languages such as Miranda, Haskell, and ML. This mechanism allows the definition and use of high level abstractions not possible in traditional languages and could be used to define user programmable derived instance declarations for type classes in Haskel. We illustrate its use in an actual programming language by giving examples in the ML dialect CRML.
Programming with inductive and co-inductive types
, 1992
"... Abstract We look at programming with inductive and co-inductive datatypes, which are inspired theoretically by initial algebras and final co-algebras, respectively. A predicative calculus which incorporates these datatypes as primitive constructs is presented. This calculus allows reduction sequence ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Abstract We look at programming with inductive and co-inductive datatypes, which are inspired theoretically by initial algebras and final co-algebras, respectively. A predicative calculus which incorporates these datatypes as primitive constructs is presented. This calculus allows reduction sequences which are significantly more efficient for two dual classes of common programs than do previous calculi using similar primitives. Several techniques for programming in this calculus are illustrated with numerous examples. A short survey of related work is also included.
Inductive Programming
, 1993
"... This paper has proposed several combinators for structuring recursive programs according to the control implicit in datatype algebras (and coalgebras). We have insufficient experience in using these combinators to make strong claims for their superiority, but it is encouraging that they seem to have ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This paper has proposed several combinators for structuring recursive programs according to the control implicit in datatype algebras (and coalgebras). We have insufficient experience in using these combinators to make strong claims for their superiority, but it is encouraging that they seem to have natural and intuitive proof rules. Furthermore, they suggest styles of programming that allow one to anticipate sources of possible non-termination and of space leaks, and to take appropriate measures to avoid them. References
Recursive Models of General Inductive Types
- Fundam. Inf
, 1993
"... We give an interpretation of Martin-Lof's type theory (with universes) extended with generalized inductive types. The model is an extension of the recursive model given by Beeson. By restricting our attention to PER model, we show that the strictness of positivity condition in the definition of gene ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We give an interpretation of Martin-Lof's type theory (with universes) extended with generalized inductive types. The model is an extension of the recursive model given by Beeson. By restricting our attention to PER model, we show that the strictness of positivity condition in the definition of generalized inductive types can be dropped. It therefore gives an interpretation of general inductive types in Martin-Lof's type theory. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright notice is included, (2) proper attribution to the author or authors is made and (3) no commercial gain is involved. Technical Reports issued by the Department of Computer Science, Manchester University, are available by anonymous ftp from m1.cs.man.ac.uk (130.88.13.4) in the directory /pub/TR. The files are stored as PostScript, in compressed form, with the report number as filename. Alternative...
Understanding Inductive Types in Constructions
, 1993
"... In this paper we extend the Calculus of Constructions with generalized inductive types. The extension is justified by showing that the usual set theoretical model can be effectivized. It is also pointed out that the model given in a published paper for a collection of inductive types in a different ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
In this paper we extend the Calculus of Constructions with generalized inductive types. The extension is justified by showing that the usual set theoretical model can be effectivized. It is also pointed out that the model given in a published paper for a collection of inductive types in a different style is wrong. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright notice is included, (2) proper attribution to the author or authors is made and (3) no commercial gain is involved. Technical Reports issued by the Department of Computer Science, Manchester University, are available by anonymous ftp from m1.cs.man.ac.uk (130.88.13.4) in the directory /pub/TR. The files are stored as PostScript, in compressed form, with the report number as filename. Alternatively, reports are available by post from The Computer Library, Department of Computer Science, The University, Oxford R...

