Changes between Version 14 and Version 15 of LateDmd


Ignore:
Timestamp:
Aug 30, 2013 5:12:29 PM (21 months 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