The Zip Calculus

* Final gross prices may vary according to local VAT.

Get Access

Abstract

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.

This research was supported in part by NSF under Grant Number CCR-9706747.