[project @ 2002-06-18 13:58:22 by simonpj]
---------------------------------------
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 }