Skip to content
  • Simon Peyton Jones's avatar
    [project @ 2002-06-18 13:58:22 by simonpj] · 80e39963
    Simon Peyton Jones authored
    ---------------------------------------
    	    Rehash the handling of SeqOp
    	---------------------------------------
    
    See the comments in the commentary (Cunning Prelude Code).
    
    * Expunge SeqOp altogether
    
    * Add GHC.Base.lazy :: a -> a
      to GHC.Base
    
    * Add GHC.Base.lazy
      to basicTypes/MkId.  The idea is that this defn will over-ride
      the info from GHC.Base.hi, thereby hiding strictness and
      unfolding
    
    * Make stranal/WorkWrap do a "manual inlining" for GHC.Base.lazy
      This happens nicely after the strictness analyser has run.
    
    * Expunge the SeqOp/ParOp magic in CorePrep
    
    * Expunge the RULE for seq in PrelRules
    
    * Change the defns of pseq/par in GHC.Conc to:
    
    	{-# INLINE pseq  #-}
           	pseq :: a -> b -> b
           	pseq  x y = x `seq` lazy y
    
           	{-# INLINE par  #-}
           	par :: a -> b -> b
           	par  x y = case (par# x) of { _ -> lazy y }
    80e39963