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.