hakaru-0.4.0: A probabilistic programming language

Safe HaskellNone
LanguageHaskell2010

Language.Hakaru.Syntax.Reducer

Documentation

data Reducer abt xs a where Source #

Constructors

Red_Fanout :: Reducer abt xs a -> Reducer abt xs b -> Reducer abt xs (HPair a b) 
Red_Index :: abt xs HNat -> abt (HNat ': xs) HNat -> Reducer abt (HNat ': xs) a -> Reducer abt xs (HArray a) 
Red_Split :: abt (HNat ': xs) HBool -> Reducer abt xs a -> Reducer abt xs b -> Reducer abt xs (HPair a b) 
Red_Nop :: Reducer abt xs HUnit 
Red_Add :: HSemiring a -> abt (HNat ': xs) a -> Reducer abt xs a 

Instances

Traversable22 Hakaru [Hakaru] Hakaru [Hakaru] Reducer Source # 

Methods

traverse22 :: Applicative f => (forall h i. a h i -> f (b h i)) -> t a j l -> f (t b j l) Source #

Foldable22 Hakaru [Hakaru] Hakaru [Hakaru] Reducer Source # 

Methods

fold22 :: Monoid m => f (Lift2 k2 k1 m) j l -> m Source #

foldMap22 :: Monoid m => (forall h i. a h i -> m) -> f a j l -> m Source #

Functor22 Hakaru [Hakaru] Hakaru [Hakaru] Reducer Source # 

Methods

fmap22 :: (forall h i. a h i -> b h i) -> f a j l -> f b j l Source #

JmEq2 Hakaru [Hakaru] abt => JmEq1 Hakaru (Reducer abt xs) Source # 

Methods

jmEq1 :: a i -> a j -> Maybe (TypeEq (Reducer abt xs) i j) Source #

Eq2 Hakaru [Hakaru] abt => Eq1 Hakaru (Reducer abt xs) Source # 

Methods

eq1 :: a i -> a i -> Bool Source #

ABT Hakaru Term abt => Pretty (Reducer abt xs) Source # 

Methods

prettyPrec_ :: Int -> Reducer abt xs a -> Docs Source #

jmEqReducer :: JmEq2 abt => Reducer abt xs a -> Reducer abt xs b -> Maybe (TypeEq a b) Source #