packages feed

freer-effects-0.3.0.1: tests/Tests/Fresh.hs

module Tests.Fresh (module Tests.Fresh) where

import Control.Monad
import Control.Monad.Freer
import Control.Monad.Freer.Fresh

makeFresh :: Int -> Eff r Int
makeFresh n = runFresh' (fmap last (replicateM n fresh)) 0

testFresh :: Int -> Int
testFresh = run . makeFresh