freer-0.2.2.1: examples/src/Fresh.hs
module Fresh where
import Control.Monad.Freer.Fresh
import Control.Monad.Freer.Trace
traceFresh :: IO ()
traceFresh = runTrace $ flip runFresh' 0 $ do
n <- fresh
trace $ "Fresh " ++ show n
n' <- fresh
trace $ "Fresh " ++ show n'
{-
Fresh 0
Fresh 1
-}