Mathematics of Program Construction

Volume 1837 of the series Lecture Notes in Computer Science pp 28-44

The Zip Calculus

  • Mark TullsenAffiliated withDepartment of Computer Science, Yale University

* Final gross prices may vary according to local VAT.

Get Access


Many have recognized the need for genericity in programming and program transformation. Genericity over data types has been achieved with polymorphism. Genericity over type constructors, often called polytypism, is an area of active research. This paper proposes that another kind of genericity is needed: genericity over the length of tuples. Untyped languages allow for such genericity but typed languages do not (except for languages allowing dependent types). The contribution of this paper is to present the “zip calculus,” a typed lambda calculus that provides genericity over the length of tuples and yet does not require the full generality of dependent types.