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 signi cance 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 multisets. This generalisation has far reaching e ects and we show its relevance from both the formal and the practical point of view. In particular, we present a program de ning 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.
A first higher-order extension of Gamma has been proposed in REF .
Higher-Order Multiset Programming
in Proc. of the DIMACS workshop on specifications of parallel algorithms, American Mathematical Society, Dimacs series in Discrete Mathematics
Computer Science Mathematics