134 Introduction to Concurrency in Programming Languages
expressions X, Y, and Z would be evaluated in sequence. In MultiLISP, one
can write (pcall F X Y Z), which will cause F, X, Y, and Z to be evaluated
concurrently with synchronization implicitly provided such that F would block
pending the completion of the evaluation of the arguments. The pcall con-
struct is very similar to other parallel evaluation statements, such as co-begin
or PAR.
Unfortunately, these languages have failed to gain significant traction over
their history. An resurgence in interest has occurred with the widespread
presence of parallelism with multicore architectures, so the future of this class
of languages is quite open. Recent work in the Haskell community has shown
significan ...