Changes between Version 46 and Version 47 of DataParallel/ClosureConversion/ClassLess


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

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/ClosureConversion/ClassLess

    v46 v47  
    210210==== Bindings ====
    211211
     212For every binding
     213{{{
     214f :: t = e
     215}}}
     216we generate
     217{{{
     218f_CC :: t^ = e^
     219}}}
     220
    212221==== Toplevel ====
    213222
    214 When converting a toplevel binding for `f :: t`, we generate `f_CC :: t^`
    215 
    216 
    217 The alternatives `GlobalId` and `LocalId` of `Var.Var` get a new field `idCC :: StatusCC Id` whose values, for a declaration `f`, we determine as follows:
    218  * If `Id`'s declaration uses any features that we cannot (or currently, don't want to) convert, set `idCC` to `NoCC`.
    219  * If all type constructors involved in `f`'s type are marked `NoCC` or `AsIsCC`, we set `f`'s `idCC` field to `AsIsCC`.
    220  * Otherwise, convert `f` and set its `ifCC` field to `ConvCC f_CC`.
     223When converting a toplevel binding for `f :: t`, we generate `f_CC :: t^` and redefine `f` as
     224{{{
     225f :: t = fr iso<t> f_CC
     226}}}
     227
     228==== Examples ====
     229
    221230
    222231----