packages feed

freer-0.2.2.1: tests/Tests/Fresh.hs

module Tests.Fresh where

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

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

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