Changes between Version 22 and Version 23 of DataParallel/ClosureConversion/ClassLess


Ignore:
Timestamp:
Apr 27, 2007 5:42:58 AM (8 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/ClosureConversion/ClassLess

    v22 v23  
    7575 * If the declaration of `T` mentions another type constructor `S` and we have `tyConCC S == NoCC`, we do not convert `T` and set its `tyConCC` field to `NoCC` as well. 
    7676 * If the declaration of `T` uses any features that we cannot (or for the moment, don't want to) convert, we do not convert `T` and set its `tyConCC` field to `NoCC`. 
    77  * If all type constructors `S` mentioned in `T`'s definiton have `tyConCC S == AsIsCC`, we do not convert `T` and set its `tyConCC` field to `AsIsCC` as well.  (NB: This implies that `T` does not mention any function arrows.) 
    78  * Otherwise, generate a converted type declaration `T_CC` together two conversion functions `fr_T` and `to_T`, and set  
    79 `tyConCC` to `ConvCC (T_CC, fr_T, to_T)`. 
    80 Note that basic types, such as `Int` and friends, should have `tyConCC` set to `AsIsCC`. 
     77 * If all type constructors `S` mentioned in `T`'s definiton have `tyConCC S == ConvCC S`, we do not convert `T` and set its `tyConCC` field to `ConvCC (T, isoT)` generating a suitable conversion constructor `isoT`.  (NB: This implies that `T` does not mention any function arrows.) 
     78 * Otherwise, we generate a converted type declaration `T_CC` together a conversion constructor  `isoT`, and set  
     79`tyConCC` to `ConvCC (T_CC, isoT)`. 
     80Note that basic types, such as `Int` and friends, should have `tyConCC` set to `ConvCC (Int, isoInt)` with identity conversions `isoInt = id :<->: id. 
    8181 
    8282=== Converting class declarations ===