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ω.


Andreas Abel

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

R. Matthes

Inst. F. Informatik Ludwig-M.

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



More information

Latest update