{-# LANGUAGE RankNTypes, FlexibleInstances, MultiParamTypeClasses #-}
module Data.Random.RVar
( RVar, runRVar
, RVarT, runRVarT, runRVarTWith
) where
import Data.Random.Lift
import Data.Random.Internal.Source
import Data.RVar hiding (runRVarT)
runRVarT :: (Lift n m, RandomSource m s) => RVarT n a -> s -> m a
runRVarT :: RVarT n a -> s -> m a
runRVarT = (forall t. n t -> m t) -> RVarT n a -> s -> m a
forall (m :: * -> *) (n :: * -> *) s a.
RandomSource m s =>
(forall t. n t -> m t) -> RVarT n a -> s -> m a
runRVarTWith forall t. n t -> m t
forall (m :: * -> *) (n :: * -> *) a. Lift m n => m a -> n a
lift