Changes between Version 55 and Version 56 of DataParallel/ClosureConversion/ClassLess


Ignore:
Timestamp:
May 1, 2007 8:13:39 AM (8 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/ClosureConversion/ClassLess

    v55 v56  
    298298 
    299299Also have an example that motivates why we have to vectorise/CC declarations such as `Int`. 
    300  
    301 ==== Conversion functions ==== 
    302  
    303 Similar to `HasGenerics` and instead of storing `Id` of conversion constructors, we can derive from the name of the `TyCon`. 
    304  
    305 ==== Data constructors ==== 
    306  
    307 How to exactly handle the worker and wrapper?  Can we replace arrows by closure types in the worker?  Or do we always have to add a wrapper? 
    308  
    309 '''Simpler!''' Don't try to make a complete cloned data constructor.  By the time of CC, its all just Core and so wrappers are just like any other global function. 
    310  
    311 ==== Original functions ==== 
    312  
    313 The previous story was that when vectorising `f` and generating `f_CC`, we now define 
    314 {{{ 
    315 f :: tau 
    316 f = trevnoc tau f_CC 
    317 }}} 
    318 Now, with the approximate conversion scheme above, we may not have `trevnoc tau`.  In this case, we still generate `f_CC`, but also leave the rhs of `f` alone (i.e., compile the original functions). 
    319  
    320 When we give up on converting a complete right-hand side, we still want to convert all subexpressions that we can convert.