Changes between Version 65 and Version 66 of DataParallel/ClosureConversion/ClassLess


Ignore:
Timestamp:
May 7, 2007 11:07:47 AM (8 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/ClosureConversion/ClassLess

    v65 v66  
    2424The meta-function "`^`", written postfix, converts from normal code to closure-converted code.  
    2525 
    26  * For each function `f::ty`, create a closure-converted function `f_cc::ty^`, where `ty^` is the closure-converted version of `ty`.   
     26 * For each function definition  
     27{{{ 
     28f::ty = e}}} 
     29create a closure-converted function definition 
     30{{{ 
     31f_cc::ty^ = e^ 
     32 
     33f::ty = fr iso<ty> f_cc 
     34}}} 
     35where `ty^` is the closure-converted version of `ty`, and `e^` is the closure-converted version of `e`.   
    2736 
    2837 * For each data type `T`, create a closure-converted data type `T_CC`, whose constructors use `(:->)` instead of `(->)`.  
    2938 
    3039 * The value `iso<ty>` is a pair of functions, converting to and fro between `ty` and `ty^`. 
     40Like "`^`", the `iso<ty>` thing should be considered as a meta-function that works recursively on `ty`. 
    3141 
    3242Invariants: 
     
    3747  fr iso<ty> :: ty^ -> ty 
    3848}}} 
    39  
     49Provided these invariants are maintained, the transformed program will be type-correct. 
    4050 
    4151=== Conversion status ===