Skip to content
  • Simon Peyton Jones's avatar
    [project @ 2001-09-07 12:42:46 by simonpj] · d3f61314
    Simon Peyton Jones authored
    ------------------------
    	Fix the demand analyser
    	------------------------
    
    A spiffy new domain for demands, and definitions for lub/both
    which are actually monotonic.   Quite a bit of related jiggling
    around.
    
    One of the original motivations was to do with functions like:
    
    	sum n []     = n
    	sum n (x:xs) = sum (n+x) xs
    
    Even though n is returned boxed from the first case, we don't want
    to get strictness
    	S(L)V -> T
    because that means we pass the box for n, and that is TERRIBLE.
    So the new version errs on the side of unboxing, more like the forwards
    analyser, and only passes the box if it is *definitely* needed, rather
    than if it *may* be needed.
    d3f61314