[project @ 1999-05-21 14:46:19 by sof]
Made rts_evalIO() stricter, i.e., rts_evalIO( action ); will now essentially cause `action' to be applied to the following (imaginary) defn of `evalIO': evalIO :: IO a -> IO a evalIO action = action >>= \ x -> x `seq` return x instead of just evalIO :: IO a -> IO a evalIO action = action >>= \ x -> return x The old, lazier behaviour is now available via rts_evalLazyIO().
Showing
- ghc/includes/RtsAPI.h 2 additions, 2 deletionsghc/includes/RtsAPI.h
- ghc/includes/SchedAPI.h 17 additions, 2 deletionsghc/includes/SchedAPI.h
- ghc/includes/StgMiscClosures.h 2 additions, 1 deletionghc/includes/StgMiscClosures.h
- ghc/rts/RtsAPI.c 10 additions, 29 deletionsghc/rts/RtsAPI.c
- ghc/rts/StgMiscClosures.hc 50 additions, 6 deletionsghc/rts/StgMiscClosures.hc
Loading
Please register or sign in to comment