[project @ 2000-06-13 15:35:29 by simonm]
Changes to unbox the state in the ST and IO monads. ST now has type newtype ST s a = ST (State# s -> STret s a) data STret s a = STret (State# s) a IO now has type newtype IO a = IO (State# RealWorld -> IOResult a) data IOResult a = IOok (State# RealWorld) a | IOfail (State# RealWorld) IOError So ST should be slightly more efficient, and IO should be nearly as efficient as ST.
Please register or sign in to comment