Changes between Version 18 and Version 19 of DataParallel/ClosureConversion/ClassLess


Ignore:
Timestamp:
Apr 24, 2007 6:19:08 AM (7 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/ClosureConversion/ClassLess

    v18 v19  
    2222==== Preliminaries ==== 
    2323 
    24 The alternatives of `TyCon.TyCon` get a new field `tyConCC :: StatusCC (TyCon, Id, Id)`.  This field is `NoCC` for data constructors for which we have no conversion, `AsIsCC` if the original and the converted form coincide, and `ConvCC (T_CC, fr_T, to_T)` if we have a converted form. 
     24The alternatives of `TyCon.TyCon` get a new field `tyConCC :: StatusCC (TyCon, Id, Id)`.  This field is `NoCC` for data constructors for which we have no conversion, `AsIsCC` if the original and the converted form coincide, and `ConvCC (T_CC, to_T, fr_T)` if we have a converted form.  In the last case, `T_CC` is the converted constructor and `to_T`/`fr_T` are conversion functions between values inhabitating types formed from the original and converted constructor.  The type of these functions is as follows: 
     25{{{ 
     26toTy (C::k1->..->kn->*) = forall _1 .. _n _1_CC .. _n_CC. 
     27  toTy (_1::k1) -> .. -> toTy (_n::kn) ->  
     28  (C _1 .. _n -> C_CC _1_CC .. _n_CC) 
     29}}} 
    2530 
    2631Moreover, we have a type constructor `(-->)` that represents closures and we assume that the field `tyConCC` of `(->)` has the value `ConvCC ((-->), fr_fun, to_fun)`, where `fr_fun` and `to_fun` are appropriate conversion functions.