Haskell high-level wrapper for OpenCL