Realisations for Non-Strict Languages

  • Chris Clack


Parallel implementations of non-strict functional languages using graph reduction are all based on the following model:

  1. 1.

    The graph is held in one or more large heap memories (see below);

  2. 2.

    There are a number of processing agents each of which uses one or more (slightly modified) sequential abstract machines to execute a thread in order to evaluate some part of the graph to WHNF;

  3. 3.

    Threads that are not currently being executed reside in one or more thread pools — if they have not yet started evaluation, they are often called sparks (see below) and may reside in one or more separate spark pools;

  4. 4.

    Synchronisation is required whenever a thread requires the value of an expression that is currently being evaluated by another thread.



Parallel Machine Transition Rule Garbage Collection Abstract Machine Graph Reduction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag London 1999

Authors and Affiliations

  • Chris Clack
    • 1
  1. 1.Department of Computer ScienceUniversity College LondonUK

Personalised recommendations