https://hgpu.org/?p=6193
Functional Programming for High-Performance Computing on Heterogeneous Architectures