- class Sampleable d m t where
- sampleFrom :: RandomSource m s => s -> d t -> m t

- sample :: (Sampleable d m t, MonadRandom m) => d t -> m t

# Documentation

class Sampleable d m t whereSource

A typeclass allowing `Distribution`

s and `RVar`

s to be sampled. Both may
also be sampled via `runRVar`

or `runRVarT`

, but I find it psychologically
pleasing to be able to sample both using this function.

sampleFrom :: RandomSource m s => s -> d t -> m tSource

Directly sample from a distribution or random variable, using the given source of entropy.

Distribution d t => Sampleable d m t | |

Lift m n => Sampleable (RVarT m) n t |

sample :: (Sampleable d m t, MonadRandom m) => d t -> m tSource

Sample a distribution using the default source of entropy for the monad in which the sampling occurs.