1990
DOI: 10.1016/0167-6423(90)90023-7
|View full text |Cite
|
Sign up to set email alerts
|

Data structures and program transformation

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
109
0
1

Year Published

1999
1999
2007
2007

Publication Types

Select...
8

Relationship

0
8

Authors

Journals

citations
Cited by 144 publications
(110 citation statements)
references
References 1 publication
0
109
0
1
Order By: Relevance
“…The beauty of the in/fold and out/unfold syntax for programming with inductive and coinductive types [13,21] is thanks to the fact that it is based directly on the semantic interpretation of such types as initial algebras and final coalgebras. Apart from the clarity provided by this close match between syntax and semantics, there are practical benefits for the programmer.…”
Section: Introductionmentioning
confidence: 99%
“…The beauty of the in/fold and out/unfold syntax for programming with inductive and coinductive types [13,21] is thanks to the fact that it is based directly on the semantic interpretation of such types as initial algebras and final coalgebras. Apart from the clarity provided by this close match between syntax and semantics, there are practical benefits for the programmer.…”
Section: Introductionmentioning
confidence: 99%
“…Section 2 builds on many discussions with colleagues in and around the Datatype-Generic Programming project at Oxford and Nottingham. My views on origami programming in Section 3 are based on ideas from the Algebra of Programming ('Squiggol') community, and especially the work of: Roland Backhouse and Grant Malcolm [92,7,6]; Richard Bird and Oege de Moor [9,10]; Maarten Fokkinga, Erik Meijer and Ross Paterson [32,101]; Johan Jeuring, Patrik Jansson, Ralf Hinze and Andres Löh [68,69,57,60,91]; and John Hughes [66]. The analogy between design patterns and higher-order datatype-generic programs discussed in Section 4 elaborates on arguments developed in a course presented while on sabbatical at the University of Canterbury in New Zealand in early 2005, and explored further at tutorials at ECOOP [39] and OOPSLA [40] later that year; the contribution of participants at those venues and at less formal presentations of the same ideas is gratefully acknowledged.…”
Section: Discussionmentioning
confidence: 99%
“…There is a branch of the mathematics of program construction devoted to the relationship between the structure of programs and the structure of the data they manipulate [92,101,6,9,37]. We saw a glimpse of this field in Sections 2.3, 2.5 and 2.7, with the definitions of foldL, foldM and foldB respectively: the structure of each program reflects that of the datatype it traverses, for example in the number of clauses and the number and position of any recursive references.…”
Section: Origami Programmingmentioning
confidence: 99%
See 1 more Smart Citation
“…[2,18]). In this section we review the relevant concepts around the categorical approach to recursive types [23,25,21] and its application to program calculation [24,27,11,22,5]. The category-theoretic explanation of (recursive) types is based on the idea that types constitute objects of a category C, programs are modelled by arrows of the category, and type constructors are functors on C. In this setting, a datatype Tis understood as a solution (a fixed point) of a type equation X F X, for an appropriate endofunctor F : C ---+ C that captures the shape (or signature) of the type.…”
Section: Mathematical Frameworkmentioning
confidence: 99%