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

Författare

Andreas Abel

Chalmers, Data- och informationsteknik, Datavetenskap

R. Matthes

Inst. F. Informatik Ludwig-M.

T. Uustalu

Tallinna Tehnikaülikool

Theoretical Computer Science

0304-3975 (ISSN)

Vol. 333 3-66

Ämneskategorier

Data- och informationsvetenskap

DOI

10.1016/j.tcs.2004.10.017