Skip to main content

Research Repository

Advanced Search

Bananas in space: extending fold and unfold to exponential types

Meijer, Erik; Hutton, Graham

Authors

Erik Meijer



Abstract

Fold and unfold are general purpose functionals for process-ing and constructing lists. By using the categorical approach of modelling recursive datatypes as fixed points of functors, these functionals and their algebraic properties were generalised from lists to polynomial (sum-of-product) datatypes. However, the restriction to polynomial datatypes is a serious limitation: it precludes the use of exponentials (function-spaces), whereas it is central to functional programming that functions are first-class values, and so exponentials should be able to be used freely in datatype definitions. In this paper we explain how Freyd’s work on modelling recursive datatypes as fixed points of difunctors shows how to generalise fold and unfold from polynomial datatypes to those involving exponentials. Knowledge of category theory is not required; we use Gofer throughout as our meta-language, making extensive use of constructor classes

Citation

Meijer, E., & Hutton, G. (1995). Bananas in space: extending fold and unfold to exponential types.

Conference Name International Conference on Functional Programming Languages and Computer Architecture (7th)
End Date Jun 28, 1995
Publication Date Jun 1, 1995
Deposit Date Mar 18, 2015
Publicly Available Date Mar 28, 2024
Peer Reviewed Peer Reviewed
Public URL https://nottingham-repository.worktribe.com/output/1024481
Publisher URL http://dl.acm.org/citation.cfm?doid=224164.224225
Additional Information Published in: FPCA '95: proceedings of the seventh International Conference on Functional Programming Languages and Computer Architecture. New York : ACM, 1995, ISBN: 0-89791-719-7. pp. 324-333, doi: 10.1145/224164.224225

Files





You might also like



Downloadable Citations