Changes between Version 36 and Version 37 of DataParallel/VectPragma


Ignore:
Timestamp:
Nov 25, 2011 11:37:17 AM (2 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/VectPragma

    v36 v37  
    129129The class `C` must be in scope, but it may be imported.  'PData' and 'PRepr' instances are generally not used for type classes and their dictionary representations. 
    130130 
    131 An example is the handling of `Num`. 
    132  
    133 == The VECTORISE pragma for class instances == 
     131An example is the handling of `Eq`. 
    134132 
    135133'''TODO:''' 
    136  * This version is nonsense (only with `SCALAR`, it makes sense). 
    137  * But we probably want something like `{-# VECTORISE instance C t = ?? #-}`, but probably on a per class basis. 
    138  
    139 For a class instance `C t`, the pragma 
    140 {{{ 
    141 {-# VECTORISE instance C t #-} 
    142 }}} 
    143 indicates that the class instance `C t` should be automatically vectorised, even if it is imported.  This implies that all class methods making up the instance dfun are vectorised separately to combine into a vectorised diun.  This is the default for all class instances declared in the current module. 
    144  
    145 `C t` must exactly match a single instance declaration provided for `C`. 
     134 * We want something like `{-# VECTORISE class C = C' #-}` (but what about the instances?) 
    146135 
    147136== The VECTORISE SCALAR pragma for class instances ==