Synthesising parallel functional programs to improve dynamic scheduling. - David J. Parrott (1993)