Iteration and coiteration schemes for higher-order and nested datatypes
Artikel i vetenskaplig tidskrift, 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, Data- och informationsteknik, Datavetenskap

R. Matthes

Ludwig-Maximilians-Universität München (LMU)

T. Uustalu

Tallinns tekniska universitet (TalTech)

Theoretical Computer Science

0304-3975 (ISSN)

Vol. 333 1-2 3-66


Data- och informationsvetenskap



Mer information

Senast uppdaterat