2009
DOI: 10.1145/1631687.1596585
|View full text |Cite
|
Sign up to set email alerts
|

Generic programming with fixed points for mutually recursive datatypes

Abstract: Many datatype-generic functions need access to the recursive positions in the structure of the datatype, and therefore adopt a fixed point view on datatypes. Examples include variants of fold that traverse the data following the recursive structure, or the Zipper data structure that enables navigation along the recursive positions. However, Hindley-Milner-inspired type systems with algebraic datatypes make it difficult to express fixed points for anything but regular datatypes. Many real-life examples such as … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0

Year Published

2010
2010
2021
2021

Publication Types

Select...
5
2

Relationship

3
4

Authors

Journals

citations
Cited by 17 publications
(15 citation statements)
references
References 36 publications
0
15
0
Order By: Relevance
“…Its case simply implements the obvious structural recursion. The only reason we cannot omit this case is because the Haskell language and existing generic programming techniques ( [3,9,12,24]) are blind to the correspondence between the Plus and PlusN constructors.…”
Section: Exact Types Defy Existing Generic Techniquesmentioning
confidence: 99%
See 3 more Smart Citations
“…Its case simply implements the obvious structural recursion. The only reason we cannot omit this case is because the Haskell language and existing generic programming techniques ( [3,9,12,24]) are blind to the correspondence between the Plus and PlusN constructors.…”
Section: Exact Types Defy Existing Generic Techniquesmentioning
confidence: 99%
“…The void Var, Lam, and App types are considered auxiliary in instant-generics. They were later added (seemingly by Yakushev et al [24]) to the sum-of-products representation types only to define another class of generic values, such as show and read. We call these types constructor types.…”
Section: The Sum-of-products Representation Typesmentioning
confidence: 99%
See 2 more Smart Citations
“…pattern functors[36], that can provide convenient folds for free. For the sake of simplicity, we present only the base-functor approach.…”
mentioning
confidence: 99%