Results 1  10
of
16
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 51 (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 HigherOrder Subtyping
, 1997
"... The calculus of higher order subtyping, known as F ω ≤ , a higherorder polymorphic λcalculus with subtyping, is expressive enough to serve as core calculus for typed objectoriented languages. The versions considered in the literature usually support only pointwise subtyping of type operators, whe ..."
Abstract

Cited by 32 (1 self)
 Add to MetaCart
The calculus of higher order subtyping, known as F ω ≤ , a higherorder polymorphic λcalculus with subtyping, is expressive enough to serve as core calculus for typed objectoriented 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 equalbounds subtyping rule for alltypes is rephrased in the polarized setting as a mutualsubtype requirement of the upper bounds.
General recursion via coinductive types
 Logical Methods in Computer Science
"... Vol. 1 (2:1) 2005, pp. 1–28 ..."
Monadic Maps and Folds for Arbitrary Datatypes
 Memoranda Informatica, University of Twente
, 1994
"... Each datatype constructor comes equiped not only with a socalled 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 19 (0 self)
 Add to MetaCart
Each datatype constructor comes equiped not only with a socalled 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 coinductive types
, 1992
"... Abstract We look at programming with inductive and coinductive datatypes, which are inspired theoretically by initial algebras and final coalgebras, 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 coinductive datatypes, which are inspired theoretically by initial algebras and final coalgebras, 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 nontermination 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 MartinLof'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 MartinLof'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 MartinLof'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...