SPL, a high-level programming language for synthesizing scientific software
