I was wondering if anyone could point me to a more in-depth explanation of why we are (currently) restricted to using a special-purpose standard Prelude when writing vectorised code with DPH.  We're prototyping using several data-parallel languages for a research project here at Northwestern University, and wanted to get a better idea how we might go about adding vectorisation support for addtional types/operations. 

There are certain simple operations which don't appear to be supported for primitive types yet (e.g. the ^ and ** operators for an Int type).  These are the kinds of things we'd like to look into as a first step. 

Much thanks,
James Swaine