Book Chapter10.1007/BFB0026992
When Do Datatypes Commute
TL;DR: In this article, a notion of higher order naturality is introduced for the problem of "commuting" two datatypes in the theory of allegories, a combination of category theory with the point-free relation calculus.
read more
Abstract: Polytypic programs are programs that are parameterised by type constructors (like List), unlike polymorphic programs which are parameterised by types (like Int). In this paper we formulate precisely the polytypic programming problem of “commuting” two datatypes. The precise formulation involves a notion of higher order naturality. We demonstrate via a number of examples the relevance and interest of the problem, and we show that all “regular datatypes" (tree-like datatypes that one can define in a functional programming language) do indeed commute according to our specification. The framework we use is the theory of allegories, a combination of category theory with the pointfree relation calculus.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Polytypic Values Possess Polykinded Types
Ralf Hinze
- 03 Jul 2000
TL;DR: This paper shows how to define values that are indexed by types of arbitrary kinds and proves among other things that the polytypic mapping function satisfies suitable generalizations of the functorial laws.
79
Final dialgebras : from categories to allegories
TL;DR: This paper defines the notion of a relational final dialgebra and proves, for an important class of dialgebras, that a relationalfinal dialgebra exists in an allegory if and only if a final dial algebra exists in the underlying category of maps.
Parametric datatype-genericity
Jeremy Gibbons,Ross Paterson +1 more
- 30 Aug 2009
TL;DR: This work presents a higher-order parametricity theorem for datatype-generic operators, which shows that the naturality properties arise "for free", simply from the parametrized types of the generic functions.
A Monadic Interpretation of Tactics
Andrew P. Martin,Jeremy Gibbons +1 more
- 01 Jan 2002
TL;DR: This work presents a simplified idealised tactic language, and describes its denotational semantics, which has many applications outside theorem-proving activities.
Chapter 3. Generic Properties of Datatypes
Roland Backhouse,Paul F. Hoogendijk +1 more
- 01 Jan 2003
TL;DR: A theory of datatypes based on the algebra of relations which forms a basis for understanding datatype-generic programs and the notion of parametric polymorphism much exploited in conventional functional programming languages is reviewed.
11
References
•Book
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma,Richard Helm,Ralph E. Johnson,John Vlissides +3 more
- 01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
24.8K
A theory of type polymorphism in programming
TL;DR: This work presents a formal type discipline for polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline.
2.6K
Notions of computation and monads
TL;DR: Calculi are introduced, based on a categorical semantics for computations, that provide a correct basis for proving equivalence of programs for a wide range of notions of computation.
2K
•Proceedings Article
Types, Abstraction and Parametric Polymorphism.
John C. Reynolds
- 01 Jan 1983
TL;DR: The findings of a Web-based questionnaire aimed at discovering both patterns of use of videoconferencing systems within HP and the reasons people give for either not using, or for using such systems are discussed.
978
Related Papers (5)
[...]
Philip Wadler
- 01 Nov 1989
Patrik Jansson,Johan Jeuring +1 more
- 01 Jan 1997
Ralf Hinze
- 11 Nov 1999
C. Barry Jay
- 01 Dec 1995