Overloading Side-Effects
Why should we choose between IO and ST when we want side-effects?
class Monad m => RefMonad m r | m -> r where
newRef :: a -> m (r a)
readRef :: r a -> m a
writeRef :: r a -> a -> m ()
instance RefMonad IO IORef …
instance RefMonad (ST s) (STRef s) …
Föregående bild
Nästa bild
Tillbaka till första bilden
Visa grafisk version