packages feed

monad-gen 0.2.0.1 → 0.2.0.2

raw patch · 2 files changed

+5/−1 lines, 2 files

Files

monad-gen.cabal view
@@ -1,5 +1,5 @@ name:                monad-gen-version:             0.2.0.1+version:             0.2.0.2 synopsis:            A simple monad for generating fresh integers description:     This module provides a simple monad transformer @GenT@ to enumerate unique values within
src/Control/Monad/Gen.hs view
@@ -26,6 +26,10 @@ -- | The monad transformer for generating fresh values. newtype GenT e m a = GenT {unGenT :: StateT e m a}                    deriving(Functor)++instance (Monad m, Enum e) => MonadGen e (GenT e m) where+  gen = GenT (modify succ) >> GenT get+ instance Monad m => Monad (GenT e m) where   return = GenT . return   (GenT m) >>= f = GenT $ m >>= unGenT . f