SLAG -- Sisal Lives AGain

SLAG is an applicative (e.g. functional) language that
can be executed efficiently in parallel.  The initial
target for the SLAG compiler (slagc) is IF1 so that
the Sisal back end tools can be used from threaded
compilation.  Since SLAG is a single assignment language,
parallelization is trivial since functions have no
side effects.  The implicitly parallel loop form
  for i in 1,n
    x := f(i);
    array of x
  end for
can be safely parallelized since each iteration is
provably independent.

The SLAG project intends to extend the original Sisal
work by fixing up some holes and annoyances in the
languages.  The end target will be a fully distributed
version based on one-sided communications via MPI.

-- Pat Miller