2003
DOI: 10.1007/978-3-540-45191-4_1
|View full text |Cite
|
Sign up to set email alerts
|

Chapter 1. Generic Haskell: Practice and Theory

Abstract: Abstract. Generic Haskell is an extension of Haskell that supports the construction of generic programs. These lecture notes describe the basic constructs of Generic Haskell and highlight the underlying theory.Generic programming aims at making programming more effective by making it more general. Generic programs often embody non-traditional kinds of polymorphism. Generic Haskell is an extension of Haskell [38] that supports the construction of generic programs. Generic Haskell adds to Haskell the notion of … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
61
0

Year Published

2004
2004
2012
2012

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 49 publications
(61 citation statements)
references
References 36 publications
0
61
0
Order By: Relevance
“…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%
See 3 more Smart Citations
“…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%
“…Typical examples of the latter are pretty printers and marshallers; these can be defined once and for all for lists, trees, and so on, in a typesafe way, but not in a way that guarantees any kind of uniformity in behaviour at the instances for different shapes. This approach to datatype genericity has been variously called polytypism [68], structural polymorphism [118] or typecase [131,26], and is the meaning given to 'generic programming' by the Generic Haskell [60,91] team. Whatever the name, functions are defined inductively by case analysis on the structure of datatypes; the different approaches differ slightly in the class of datatypes covered.…”
Section: Genericity By Shapementioning
confidence: 99%
See 2 more Smart Citations
“…Classic examples are small functions like maps and folds [8], but also more complex functions, like parsers and pretty printers [11] and tools for editing and compressing XML documents [5], can be dened generically. There exist a number of languages for writing generic functional programs [1,3,6,7,10,12,13], each of which has its strengths and weaknesses, and researchers in generic programming are still searching for The Right Way. Implementing a generic programming language is no small task, which makes it cumbersome to experiment with new designs.…”
Section: Introductionmentioning
confidence: 99%