Results 1  10
of
72
Nested datatypes
 In MPC’98, volume 1422 of LNCS
, 1998
"... Abstract. A nested datatype, also known as a nonregular datatype, is a parametrised datatype whose declaration involves different instances of the accompanying type parameters. Nested datatypes have been mostly ignored in functional programming until recently, but they are turning out to be both th ..."
Abstract

Cited by 90 (6 self)
 Add to MetaCart
(Show Context)
Abstract. A nested datatype, also known as a nonregular datatype, is a parametrised datatype whose declaration involves different instances of the accompanying type parameters. Nested datatypes have been mostly ignored in functional programming until recently, but they are turning out to be both theoretically important and useful in practice. The aim of this paper is to suggest a functorial semantics for such datatypes, with an associated calculational theory that mirrors and extends the standard theory for regular datatypes. Though elegant and generic, the proposed approach appears more limited than one would like, and some of the limitations are discussed. 1
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 59 (1 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...
Wellfounded Trees in Categories
, 1999
"... this paper, we give an abstract 2 categorical characterization of Wtypes. We calculate these Wtypes explicitly in some categories of presheaves and sheaves on a site, and in the gluing category or Freyd cover. (We also have an explicit description in the case of Hyland's realizability topos, ..."
Abstract

Cited by 54 (10 self)
 Add to MetaCart
this paper, we give an abstract 2 categorical characterization of Wtypes. We calculate these Wtypes explicitly in some categories of presheaves and sheaves on a site, and in the gluing category or Freyd cover. (We also have an explicit description in the case of Hyland's realizability topos, which will be presented in [17].) These explicit calculations can be formalized in a weak predicative metatheory, and lead to the result that if E is any suitably filtered pretopos with dependent products and Wtypes, then so is the category of internal sheaves on a site in E (Remark 5.9). Our paper is organized as follows. In Section 2 we review some standard definitions concerning pretoposes and dependent products. In Section 3 we present the categorical definition of the Wconstruction, and in Section 4 we prove some of its basic functoriality properties; e.g., that it turns coequalizers into equalizers. In Section 5, a construction is presented which to each map between (pre)sheaves of sets associates a sheaf of wellfounded trees, and it is proved that this is in fact the Wtype in the category (pre)sheaves of sets (Theorem 5.6). In Section 6, we discuss the Wconstruction for the Freyd cover. Finally, in Section 7 it is shown how these categorical constructions are not only analogous to but explicitly related to MartinLof type theory. 2 Pretoposes and dependent products
Presheaf Models for Concurrency
, 1999
"... In this dissertation we investigate presheaf models for concurrent computation. Our aim is to provide a systematic treatment of bisimulation for a wide range of concurrent process calculi. Bisimilarity is defined abstractly in terms of open maps as in the work of Joyal, Nielsen and Winskel. Their wo ..."
Abstract

Cited by 49 (19 self)
 Add to MetaCart
(Show Context)
In this dissertation we investigate presheaf models for concurrent computation. Our aim is to provide a systematic treatment of bisimulation for a wide range of concurrent process calculi. Bisimilarity is defined abstractly in terms of open maps as in the work of Joyal, Nielsen and Winskel. Their work inspired this thesis by suggesting that presheaf categories could provide abstract models for concurrency with a builtin notion of bisimulation. We show how
Free iterative theories: a coalgebraic view
, 2003
"... Every finitary endofunctor of Set is proved to generate a free iterative theory in the sense of Elgot. This work is based on coalgebras, specifically on parametric corecursion, and the proof is presented for categories more general than just Set. ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
Every finitary endofunctor of Set is proved to generate a free iterative theory in the sense of Elgot. This work is based on coalgebras, specifically on parametric corecursion, and the proof is presented for categories more general than just Set.
Recursive coalgebras of finitary functors
 Department of Computer Science, University of Wales Swansea
, 2005
"... Abstract For finitary set functors preserving inverse images several concepts of coalgebras A are proved to be equivalent: (i) A has a homomorphism into the initial algebra, (ii) A is recursive, i.e., A has a unique coalgebratoalgebra morphism into any algebra, and (iii) A is parametrically recurs ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
(Show Context)
Abstract For finitary set functors preserving inverse images several concepts of coalgebras A are proved to be equivalent: (i) A has a homomorphism into the initial algebra, (ii) A is recursive, i.e., A has a unique coalgebratoalgebra morphism into any algebra, and (iii) A is parametrically recursive. And all these properties mean that the system described by A always halts in finitely many steps. 1
From Dynamic Programming to Greedy Algorithms
 Formal Program Development, volume 755 of Lecture Notes in Computer Science
, 1992
"... A calculus of relations is used to reason about specifications and algorithms for optimisation problems. It is shown how certain greedy algorithms can be seen as refinements of dynamic programming. Throughout, the maximum lateness problem is used as a motivating example. 1 Introduction An optimisat ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
(Show Context)
A calculus of relations is used to reason about specifications and algorithms for optimisation problems. It is shown how certain greedy algorithms can be seen as refinements of dynamic programming. Throughout, the maximum lateness problem is used as a motivating example. 1 Introduction An optimisation problem can be solved by dynamic programming if an optimal solution is composed of optimal solutions to subproblems. This property, which is known as the principle of optimality, can be formalised as a monotonicity condition. If the principle of optimality is satisfied, one can compute a solution by decomposing the input in all possible ways, recursively solving the subproblems, and then combining optimal solutions to subproblems into an optimal solution for the whole problem. By contrast, a greedy algorithm considers only one decomposition of the argument. This decomposition is usually unbalanced, and greedy in the sense that at each step the algorithm reduces the input as much as poss...
Monad Comprehensions. A Versatile Representation for Queries. In The Functional Approach to Data
"... ..."
(Show Context)
Primitive (co)recursion and courseofvalues (co)iteration, categorically
 Informatica
, 1999
"... Abstract. In the mainstream categorical approach to typed (total) functional programming, datatypes are modelled as initial algebras and codatatypes as terminal coalgebras. The basic function definition schemes of iteration and coiteration are modelled by constructions known as catamorphisms and ana ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
Abstract. In the mainstream categorical approach to typed (total) functional programming, datatypes are modelled as initial algebras and codatatypes as terminal coalgebras. The basic function definition schemes of iteration and coiteration are modelled by constructions known as catamorphisms and anamorphisms. Primitive recursion has been captured by a construction called paramorphisms. We draw attention to the dual construction of apomorphisms, and show on examples that primitive corecursion is a useful function definition scheme. We also put forward and study two novel constructions, viz., histomorphisms and futumorphisms, that capture the powerful schemes of courseofvalue iteration and its dual, respectively, and argue that even these are helpful.