Process annotations and process types

M.C.J.D. van Eekelen, M.J. Plasmeijer · 1993

In a concurrent functional language processes are functions that are executed concurrently. Using special annotations based on lazy copying arbitrary dependencies between these functions can be used to specify arbitrary networks of processes. The communication and synchronization between the processes is realized using the lazy evaluation principle without any additional communication primitves. Communication takes place when a process demands a value that is being calculated by another process. A type system is proposed that enables the programmer to specify higher order functions as process skeletons for frequently occurring process structures. Introduction Functional languages have as advantage that, when a result is obtained, it will always be the same independent of the chosen order of reduction. This property makes functional languages very suited for interleaved and parallel evaluation. As is the case with eager evaluation, one has to be careful since changing the evaluation or...

Read the paper · More papers on PaperTik