Iteration and coiteration schemes for higher-order and nested datatypes
Journal article, 2005

This article studies the implementation of inductive and coinductive constructors of higher kinds (higher-order nested datatypes) in typed term rewriting, with emphasis on the choice of the iteration and coiteration constructions to support as primitive. We propose and compare several well-behaved extensions of System Fω with some form of iteration and coiteration uniform in all kinds. In what we call Mendler-style systems, the iterator and coiterator have a computational behavior similar to the general recursor, but their types guarantee termination. In conventional-style systems, monotonicity witnesses are used for a notion of monotonicity defined uniformly for all kinds. Our most expressive systems GMItω and GItω of generalized Mendler, resp. conventional (co)iteration encompass Martin, Gibbons and Bailey's efficient folds for rank-2 inductive types. Strong normalization of all systems considered is proved by providing an embedding of the basic Mendler-style system MItω into System Fω.

Author

Andreas Abel

Chalmers, Computer Science and Engineering (Chalmers), Computing Science (Chalmers)

R. Matthes

Ludwig Maximilian University of Munich (LMU)

T. Uustalu

Tallinn University of Technology (TalTech)

Theoretical Computer Science

0304-3975 (ISSN)

Vol. 333 1-2 3-66

Subject Categories

Computer and Information Science

DOI

10.1016/j.tcs.2004.10.017

More information

Latest update

6/29/2021