2004
DOI: 10.1007/978-3-540-27764-4_4
|View full text |Cite
|
Sign up to set email alerts
|

Inferring Type Isomorphisms Generically

Abstract: Datatypes which differ inessentially in their names and structure are said to be isomorphic; for example, a ternary product is isomorphic to a nested pair of binary products. In some canonical cases, the conversion function is uniquely determined solely by the two types involved. In this article we describe and implement a program in Generic Haskell which automatically infers this function by normalizing types w.r.t. an algebraic theory of canonical isomorphisms. A simple generalization of this technique also … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
14
0

Year Published

2004
2004
2012
2012

Publication Types

Select...
4
3
1

Relationship

4
4

Authors

Journals

citations
Cited by 13 publications
(14 citation statements)
references
References 29 publications
0
14
0
Order By: Relevance
“…Atanassow et al show how canonical isomorphisms (corresponding to laws for zeros, units, and associativity) between types can induce the value-level conversion functions [4]. They provide an encoding in the polytypic programming language Generic Haskell involving a universal representation of types, and demonstrate how it can be applied to mappings between XML Schema and Haskell datatypes.…”
Section: Generic Functional Programmingmentioning
confidence: 98%
“…Atanassow et al show how canonical isomorphisms (corresponding to laws for zeros, units, and associativity) between types can induce the value-level conversion functions [4]. They provide an encoding in the polytypic programming language Generic Haskell involving a universal representation of types, and demonstrate how it can be applied to mappings between XML Schema and Haskell datatypes.…”
Section: Generic Functional Programmingmentioning
confidence: 98%
“…This paper is an extended version of our paper UUXML: a type-preserving XML Schema-Haskell data binding [3] presented at the Practical Aspects of Declarative Languages Conference in 2004, and our paper about inferring type isomorphisms generically [4] presented at the Mathematics of Program Construction Conference in 2004.…”
Section: Outlinementioning
confidence: 99%
“…• Functions like map, crush, and transpose, which manipulate elements of a parametrised datatype such as lists Jeuring, 1998, Norell andJansson, 2004]. • Data conversion Jeuring, 2002, Atanassow andJeuring, 2004]. • Test data generation [Koopman et al, 2003, Lämmel andPeyton Jones, 2005].…”
Section: Design Of the Benchmark Suitementioning
confidence: 99%