Sisal: a functional parallel programming language