We present the PCKS-machine an abstract machine which evaluates parallel functional programs with first-class continuations. The PCKS-machine is a MIMD-machine with a shared memory which is commonly used to implement such languages. Parallelism is introduced by a construct pcall which provides a fork-and-join type of parallelism. This construct is expected to be an annotation for parallel evaluation which does not change the meaning of sequential programs. To our knowledge, this is the first implementation of such a language proved to be correct: we proved that an annotated program is observationally equivalent to its non annotated counterpart. This machine is also characterised by the non-speculative invocation of continuations whose interest is illustrated in an application.
展开▼