traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Data.Probability.Cont

Description

Probability Monad represented by a Continuation of random variables. Described in: "Stochastic lambda calculus and monads of probability distributions" (https:/dl.acm.orgdoi10.1145565816.503288)

Documentation

newtype ExpMonad probT a #

Constructors

ExpMonad (forall f r. (Applicative f, RVType probT r) => ContT r f a) 

Instances

Instances details
ProbType probT => MonadExp probT (ExpMonad probT) # 
Instance details

Defined in Traq.Data.Probability.Cont

Methods

expectationA :: (Applicative f, RVType probT r) => (a -> f r) -> ExpMonad probT a -> f r #

ProbType probT => MonadProb probT (ExpMonad probT) # 
Instance details

Defined in Traq.Data.Probability.Cont

Methods

choose :: ProbType probT => [(probT, ExpMonad probT a)] -> ExpMonad probT a #

Applicative (ExpMonad probT) # 
Instance details

Defined in Traq.Data.Probability.Cont

Methods

pure :: a -> ExpMonad probT a #

(<*>) :: ExpMonad probT (a -> b) -> ExpMonad probT a -> ExpMonad probT b #

liftA2 :: (a -> b -> c) -> ExpMonad probT a -> ExpMonad probT b -> ExpMonad probT c #

(*>) :: ExpMonad probT a -> ExpMonad probT b -> ExpMonad probT b #

(<*) :: ExpMonad probT a -> ExpMonad probT b -> ExpMonad probT a #

Functor (ExpMonad probT) # 
Instance details

Defined in Traq.Data.Probability.Cont

Methods

fmap :: (a -> b) -> ExpMonad probT a -> ExpMonad probT b #

(<$) :: a -> ExpMonad probT b -> ExpMonad probT a #

Monad (ExpMonad probT) # 
Instance details

Defined in Traq.Data.Probability.Cont

Methods

(>>=) :: ExpMonad probT a -> (a -> ExpMonad probT b) -> ExpMonad probT b #

(>>) :: ExpMonad probT a -> ExpMonad probT b -> ExpMonad probT b #

return :: a -> ExpMonad probT a #