Higher-Order Multiset Programming

Gamma is a kernel language in which programs are described in terms of multiset transformations following the chemical reaction metaphor. Previous work has demonstrated its signiicance for the construction of massively parallel programs but also highlighted some limitations. We introduce a higher-order extension of this formalism unifying the program and data syntactic categories. As a consequence active programs can be inserted into mul-tisets. This generalisation has far reaching eeects and we show its relevance from both the formal and the practical point of view. In particular, we present a program deening the chemical abstract machine in higher-order Gamma. We show that more sophisticated control strategies can be expressed within the language and we put them into practice by deriving a scan vector model program suitable for execution on ne-grained parallel machines.