Previous approaches to polytypic programming were restricted in that they only allowed to parameterize values by types of one fixed kind. In this paper we show how to define values that are indexed by types of arbitrary kinds. It turns out that these polytypic values possess types that are indexed by kinds. We present several examples that demonstrate that the additional flexibility is useful in practice. One paradigmatic example is the mapping function, which describes the functorial action on arrows.
Polytypic values enjoy polytypic properties.
Using kind-indexed logical relations we prove among other things that the polytypic mapping function satisfies suitable generalizations of the functorial laws. Genericity over data types has been achieved with polymorphism. Genericity over type constructors, often called polytypism, is an area of active research. 12.00 - 14.00 Lunch Session 3. Hence a real-time program development method needs to support nonterminating loops.