cvs commit: fptools/libraries/base/GHC Base.lhs Conc.lhs Err.lhs fptools/ghc/compiler/basicTypes MkId.lhs fptools/ghc/compiler/codeGen CgExpr.lhs fptools/ghc/compiler/coreSyn CorePrep.lhs fptools/ghc/compiler/prelude PrelNames.lhs PrelRules.lhs ...

Simon Peyton Jones simonpj@glass.cse.ogi.edu
Tue, 18 Jun 2002 06:58:25 -0700


simonpj     2002/06/18 06:58:24 PDT

  Modified files:
    libraries/base/GHC   Base.lhs Conc.lhs Err.lhs 
    ghc/compiler/basicTypes MkId.lhs 
    ghc/compiler/codeGen CgExpr.lhs 
    ghc/compiler/coreSyn CorePrep.lhs 
    ghc/compiler/prelude PrelNames.lhs PrelRules.lhs 
                         primops.txt.pp 
    ghc/compiler/stranal WorkWrap.lhs 
  Log:
  	---------------------------------------
  	    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 }
  
  Revision  Changes    Path
  1.13      +8 -0      fptools/libraries/base/GHC/Base.lhs
  1.8       +6 -10     fptools/libraries/base/GHC/Conc.lhs
  1.7       +2 -5      fptools/libraries/base/GHC/Err.lhs
  1.100     +21 -1     fptools/ghc/compiler/basicTypes/MkId.lhs
  1.49      +2 -4      fptools/ghc/compiler/codeGen/CgExpr.lhs
  1.24      +3 -52     fptools/ghc/compiler/coreSyn/CorePrep.lhs
  1.56      +1 -0      fptools/ghc/compiler/prelude/PrelNames.lhs
  1.34      +0 -61     fptools/ghc/compiler/prelude/PrelRules.lhs
  1.20      +1 -9      fptools/ghc/compiler/prelude/primops.txt.pp
  1.58      +13 -4     fptools/ghc/compiler/stranal/WorkWrap.lhs