Changes between Version 65 and Version 66 of DataParallel/ClosureConversion/ClassLess
- Timestamp:
- 05/07/07 04:07:47 (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DataParallel/ClosureConversion/ClassLess
v65 v66 24 24 The meta-function "`^`", written postfix, converts from normal code to closure-converted code. 25 25 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 {{{ 28 f::ty = e}}} 29 create a closure-converted function definition 30 {{{ 31 f_cc::ty^ = e^ 32 33 f::ty = fr iso<ty> f_cc 34 }}} 35 where `ty^` is the closure-converted version of `ty`, and `e^` is the closure-converted version of `e`. 27 36 28 37 * For each data type `T`, create a closure-converted data type `T_CC`, whose constructors use `(:->)` instead of `(->)`. 29 38 30 39 * The value `iso<ty>` is a pair of functions, converting to and fro between `ty` and `ty^`. 40 Like "`^`", the `iso<ty>` thing should be considered as a meta-function that works recursively on `ty`. 31 41 32 42 Invariants: … … 37 47 fr iso<ty> :: ty^ -> ty 38 48 }}} 39 49 Provided these invariants are maintained, the transformed program will be type-correct. 40 50 41 51 === Conversion status ===
