Changes between Version 14 and Version 15 of LateDmd


Ignore:
Timestamp:
Aug 30, 2013 5:12:29 PM (2 years ago)
Author:
nfrisby
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LateDmd

    v14 v15  
    100100{{{
    101101first Str=DmdType <S(SLLLLLLLL),U(U,A,A,U,A,A,A,A,A)>
     102
    102103                  <L,U>
    103104
     
    111112                    A,A,A,A,A)>
    112113
    113                    <L,U>,
     114                   <L,U>
    114115}}}
    115116
    116117Since there are three leaf Us in the first signature, the worker's type takes '''three''' value arguments. But the second strictness for GHC.Real.even is recorded in the .hi file, and it has four leaf Us. So when the importing module regenerates the body of the GHC.Real.even wrapper, it applies the worker to '''four''' value arguments. Boom.
    117118
    118 Similar to -flate-dmd-anal, abandoning the clever .hi scheme lets us safely import code compiled with/without -ffun-to-thunk from a module compiled without/with -ffun-to-thunk. I can explain this one.
     119Similar to -flate-dmd-anal, abandoning the clever .hi scheme lets us safely import code compiled with/without -ffun-to-thunk from a module compiled without/with -ffun-to-thunk.
    119120
    120121 * Compile A.hs with -ffun-to-thunk