| 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*>pureFalse
and something similar for any number of fresh.
Instances
nFresh :: MonadFresh s m => Int -> m [s] Source