rl-satton-0.1.2.4: Collection of Reinforcement Learning algorithms

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Rnd

Synopsis

Documentation

class (Monad m, RandomGen g) => MonadRnd g m | m -> g where Source #

Minimal complete definition

roll, getGen, putGen

Methods

roll :: (g -> (a, g)) -> m a Source #

getGen :: m g Source #

putGen :: g -> m () Source #

Instances

MonadRnd g m => MonadRnd g (StateT s m) Source # 

Methods

roll :: (g -> (a, g)) -> StateT s m a Source #

getGen :: StateT s m g Source #

putGen :: g -> StateT s m () Source #

(Monad m, RandomGen g) => MonadRnd g (RndT g m) Source # 

Methods

roll :: (g -> (a, g)) -> RndT g m a Source #

getGen :: RndT g m g Source #

putGen :: g -> RndT g m () Source #

getRndR :: (MonadRnd g m, Random a) => (a, a) -> m a Source #

newtype RndT g m a Source #

Constructors

RndT 

Fields

Instances

(Monad m, RandomGen g) => MonadRnd g (RndT g m) Source # 

Methods

roll :: (g -> (a, g)) -> RndT g m a Source #

getGen :: RndT g m g Source #

putGen :: g -> RndT g m () Source #

MonadTrans (RndT g) Source # 

Methods

lift :: Monad m => m a -> RndT g m a #

Monad m => Monad (RndT g m) Source # 

Methods

(>>=) :: RndT g m a -> (a -> RndT g m b) -> RndT g m b #

(>>) :: RndT g m a -> RndT g m b -> RndT g m b #

return :: a -> RndT g m a #

fail :: String -> RndT g m a #

Functor m => Functor (RndT g m) Source # 

Methods

fmap :: (a -> b) -> RndT g m a -> RndT g m b #

(<$) :: a -> RndT g m b -> RndT g m a #

MonadFix m => MonadFix (RndT g m) Source # 

Methods

mfix :: (a -> RndT g m a) -> RndT g m a #

Monad m => Applicative (RndT g m) Source # 

Methods

pure :: a -> RndT g m a #

(<*>) :: RndT g m (a -> b) -> RndT g m a -> RndT g m b #

(*>) :: RndT g m a -> RndT g m b -> RndT g m b #

(<*) :: RndT g m a -> RndT g m b -> RndT g m a #

MonadIO m => MonadIO (RndT g m) Source # 

Methods

liftIO :: IO a -> RndT g m a #

runRnd :: RndT g Identity a -> g -> (a, g) Source #

runRndT :: RndT g m a -> g -> m (a, g) Source #

evalRndT :: Monad m => RndT g m a -> g -> m a Source #

evalRndT_ :: Monad m => RndT g m a -> g -> m () Source #

rollM :: MonadRnd g m => (g -> m (a, g)) -> m a Source #

fromList :: MonadRnd g m => [(a, Rational)] -> m a Source #

Extracted from MonadRandom AS-IS Sample a random value from a weighted list. The total weight of all elements must not be 0.

uniform :: MonadRnd g m => [a] -> m a Source #

Sample a value from a uniform distribution of a list of elements.