## What is a Data Type? (1996)

Citations: | 4 - 1 self |

### BibTeX

@TECHREPORT{Hoogendijk96whatis,

author = {Paul Hoogendijk and Oege De Moor},

title = {What is a Data Type?},

institution = {},

year = {1996}

}

### OpenURL

### Abstract

A program derivation is said to be polytypic if some of its parameters are data types. Polytypic program derivations necessitate a general, non-inductive definition of `data type'. Here we propose such a definition: a data type is a relator that has membership. It is shown how this definition implies various other properties that are shared by all data types. In particular, all data types have a unique strength, and all natural transformations between data types are strong. 1 Introduction What is a data type? It is easy to list a number of examples: pairs, lists, bags, finite sets, possibly infinite sets, function spaces . . . but such a list of examples hardly makes a definition. The obvious formalisation is a definition that builds up the class of data types inductively; such an inductive definition, however, leads to cumbersome proofs if we want to prove a property of all data types. Here we aim to give a non-inductive characterisation, defining a data type as a mathematical object...

### Citations

733 | Notions of Computation and Monads
- Moggi
- 1991
(Show Context)
Citation Context ...he related work concentrates on ways of creating data structures; it is not concerned with relators or membership. Functors that have a certain data structure creation mechanism are said to be strong =-=[18, 5]-=-. Because little interesting can be said about strong functors in connection to arbitrary natural transformations, natural transformations are required to satisfy an additional condition; such natural... |

321 |
A compendium on continuous lattices
- GIERZ
- 1980
(Show Context)
Citation Context ...of is clumsy. Instead, we prefer to use the fact that the right (or upper) adjoint in a Galois connection preserves intersections; readers who are not familiar with Galois connections are referred to =-=[8]-=-. Below it is shown that F is a right adjoint: let C and D be subsets of an object A. We have D ` FC j forder-isog D \Delta \Pi ` F C \Delta \Pi j fdivision: ffin\Pi = \Pig D \Delta \Pi ` F C \Delta f... |

55 |
The weakest prespecification
- Hoare, He
- 1986
(Show Context)
Citation Context ...refine our definition of data types. An alternative approach (which does not suffer these drawbacks) makes use of the division operator in relation algebra, also known as the weakest prespecification =-=[9, 10]-=-. It is defined by the equivalence X ` RnS j R \Delta X ` S for all X . As a predicate, RnS can be written x (RnS )y j (8a : aRx : aSy): The weakest prespecification operator does not exist in every c... |

53 |
First steps in synthetic domain theory
- Hyland
- 1991
(Show Context)
Citation Context ...ess conditions on the semantic model of the calculus. We note that synthetic domain theory is precisely concerned with the construction of models of programming languages that satisfy our assumptions =-=[11]-=-. In this context we should own up to an embarassment, namely that in certain categories (topoi), the exponential functor is a relator only if the internal axiom of choice is satisfied. This indicates... |

49 |
Strong functors and monoidal monads
- Kock
- 1972
(Show Context)
Citation Context ...ponentials. Again map can be defined as an alternative to strengths: the strengths of F are in one-to-one correspondence with its map transformations. Details can be found in Kock's influential paper =-=[15]-=-. Using Kock's correspondence we get immediately that all functors of Fun are strong. In particular, the functor F in Freyd's counterexample is strong, and thus we have an example of a strong functor ... |

48 |
Strong Categorical Datatypes I
- Cockett, Spencer
- 1991
(Show Context)
Citation Context ...he related work concentrates on ways of creating data structures; it is not concerned with relators or membership. Functors that have a certain data structure creation mechanism are said to be strong =-=[18, 5]-=-. Because little interesting can be said about strong functors in connection to arbitrary natural transformations, natural transformations are required to satisfy an additional condition; such natural... |

41 | Calculate polytypically
- Meertens
- 1996
(Show Context)
Citation Context ...lytypic program derivations we need to appeal to properties that are shared by all data types. This paper does not go into examples of polytypic program derivation, and the reader is referred to e.g. =-=[2, 4, 6, 13, 16]-=- for such examples and a more in-depth motivation of polytypism. Because our interest is in a definition that is useful in specification, the class of data types considered here may be somewhat too li... |

28 | Polytypic pattern matching
- Jeuring
- 1995
(Show Context)
Citation Context ...lytypic program derivations we need to appeal to properties that are shared by all data types. This paper does not go into examples of polytypic program derivation, and the reader is referred to e.g. =-=[2, 4, 6, 13, 16]-=- for such examples and a more in-depth motivation of polytypism. Because our interest is in a definition that is useful in specification, the class of data types considered here may be somewhat too li... |

25 |
der Woude. A relational theory of datatypes. Available via World-Wide Web at http://www.cs.nott.ac.uk/~rcb/MPC/papers
- Backhouse, Voermans, et al.
- 1992
(Show Context)
Citation Context ...lta (R \Theta S ) ` S \Delta outr : The properties of products in a relational setting have been thoroughly explored by numerous researchers; the most comprehensive account we know of can be found in =-=[1]-=-. To get some practice in pushing all these new operators around, and for future reference, we first prove two little lemmas before going on to the new, alternative definition of fans. Lemma 7 For all... |

24 | Notes on sconing and relators
- Mitchell, Scedrov
- 1993
(Show Context)
Citation Context ...ied. This indicates that our definition of relator may need modification for those who accept only constructivist reasoning about their specifications. A weaker definition of relators may be found in =-=[17]-=-. Another shortcoming of this paper is that we have dealt only with data types that have a single kind of element: to deal with more general data types one needs to consider functors between powers of... |

18 |
Reductivity arguments and program construction
- Doornbos
- 1996
(Show Context)
Citation Context ...lytypic program derivations we need to appeal to properties that are shared by all data types. This paper does not go into examples of polytypic program derivation, and the reader is referred to e.g. =-=[2, 4, 6, 13, 16]-=- for such examples and a more in-depth motivation of polytypism. Because our interest is in a definition that is useful in specification, the class of data types considered here may be somewhat too li... |

10 |
Monads and the Fast Fourier Transform
- Matrices
- 1994
(Show Context)
Citation Context ...rs that preserve pullbacks): one can define copy maps independently, and then prove that there exists a oneto -one correspondence between copy maps and strengths. The interested reader is referred to =-=[12]-=-. Another useful operation that can be programmed in terms of strength is the map transformation. Let F be a functor of Fun that has strength `. We can then define map : (F A / F B) / (A / B) by map f... |

9 | Generic programming with relations and functors
- Bird, Hoogendijk, et al.
- 1993
(Show Context)
Citation Context |

6 |
A Categorical Approach to Functional Programming
- Tuijnman
- 1995
(Show Context)
Citation Context ...le, as it shows that all conditions regarding strong functors in the literature are vacuously satisfied. In particular, we obtain that any monad (on a functor that has membership) is strong. Tuijnman =-=[19]-=- studies strength in the context of program derivation. It seems likely that at least some of his proofs can be simplified using the results presented here, but we have not investigated this in any de... |

3 |
A class of commuting relators. Available from URL http://www.win.tue.nl/win/cs/wp/papers/papers.html
- Backhouse, Doornbos
- 1993
(Show Context)
Citation Context |

3 |
Notes on the universality of relational functors
- Kawahara
- 1973
(Show Context)
Citation Context ... on such functors is that they are monotonic with respect to inclusion of relations: we shall call monotonic functors of Rel(C ) relators. Relators are a special kind of functor on functions: Fact 1 (=-=[14]-=-) Let F be an functor of a regular category C . There exists at most one relator of Rel(C ) that agrees with F on functions. We shall consequently use the same identifier for a functor of C and its ge... |