Copyright | (c) Leon Medvinsky, 2015 |
---|---|
License | GPL-3 |
Maintainer | lmedvinsky@hotmail.com |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Control.Monad.Fresh.Class
Description
- class Monad m => MonadFresh s m | m -> s where
- fresh :: m s
- nFresh :: MonadFresh s m => Int -> m [s]
Documentation
class Monad m => MonadFresh s m | m -> s where Source
A class for monads that can give fresh values.
At least for Eq s, an instance of MonadFresh
should satisfy
(==
)<$>
fresh
<*>
fresh
≡fresh
*>
fresh
*>
pure
False
and something similar for any number of fresh.
Instances
nFresh :: MonadFresh s m => Int -> m [s] Source