2004
DOI: 10.1007/978-3-540-30477-7_22
|View full text |Cite
|
Sign up to set email alerts
|

Build, Augment and Destroy, Universally

Abstract: Abstract. We give a semantic footing to the fold/build syntax of programming with inductive types, covering shortcut deforestation, based on a universal property. Specifically, we give a semantics for inductive types based on limits of algebra structure forgetting functors and show that it is equivalent to the usual initial algebra semantics. We also give a similar semantic account of the augment generalization of build and of the unfold/destroy syntax of coinductive types.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

1
46
0

Year Published

2007
2007
2021
2021

Publication Types

Select...
5
1

Relationship

3
3

Authors

Journals

citations
Cited by 17 publications
(47 citation statements)
references
References 29 publications
1
46
0
Order By: Relevance
“…In this section we first recall the derivation of initial algebra packages for inductive types from [Ghani et al (2003)], and then recap the well-known categorical ideas which underlie it. In the next section we show how to instantiate these same ideas in our higherorder setting to derive initial algebra packages for GADTs.…”
Section: Semantic Foundations Of Initial Algebra Packagesmentioning
confidence: 99%
See 3 more Smart Citations
“…In this section we first recall the derivation of initial algebra packages for inductive types from [Ghani et al (2003)], and then recap the well-known categorical ideas which underlie it. In the next section we show how to instantiate these same ideas in our higherorder setting to derive initial algebra packages for GADTs.…”
Section: Semantic Foundations Of Initial Algebra Packagesmentioning
confidence: 99%
“…It is well known [Ghani et al (2005), Ghani et al (2003), Takano & Meijer (1995)] that every inductive type has an associated initial algebra package. If f is a Haskell functor, then the associated inductive type M f and its associated fold and build combinators can be implemented generically in Haskell by…”
Section: Initial Algebra Packages For Inductive Typesmentioning
confidence: 99%
See 2 more Smart Citations
“…Folds are not the only program structure that reflects data structure, although they are often given unfair emphasis [48]; we outline unfolds and builds too, which are two kinds of dual (producing structured data rather than consuming it), and maps, which are special cases of these operators, and some simple combinations of all of these. There are many other datatype-generic patterns of computation that we might also have considered: paramorphisms [98], apomorphisms [130], histomorphisms and futumorphisms [127], metamorphisms [42], dynamorphisms [78], destroy [36], and so on.…”
Section: Origami Programmingmentioning
confidence: 99%