hakaru-0.6.0: A probabilistic programming language

Safe HaskellNone
LanguageHaskell2010

Language.Hakaru.Syntax.AST.Transforms

Documentation

optimizations :: ABT Term abt => abt '[] a -> abt '[] a Source #

underLam :: (ABT Term abt, Monad m) => (abt '[] b -> m (abt '[] b)) -> abt '[] (a :-> b) -> m (abt '[] (a :-> b)) Source #

underLam' :: forall abt m a b b'. (ABT Term abt, MonadFix m) => (abt '[] b -> m (abt '[] b')) -> abt '[] (a :-> b) -> m (abt '[] (a :-> b')) Source #

underLam'p :: forall abt a b b'. ABT Term abt => (abt '[] b -> abt '[] b') -> abt '[] (a :-> b) -> abt '[] (a :-> b') Source #

expandTransformations :: forall abt a. ABT Term abt => abt '[] a -> abt '[] a Source #

expandAllTransformations :: forall abt a. ABT Term abt => abt '[] a -> IO (abt '[] a) Source #

expandTransformationsWith' :: forall abt a. ABT Term abt => TransformTable abt Identity -> abt '[] a -> abt '[] a Source #

expandTransformationsWith :: forall abt a m. (ABT Term abt, Applicative m, Monad m) => TransformTable abt m -> abt '[] a -> m (abt '[] a) Source #

coalesce :: forall abt a. ABT Term abt => abt '[] a -> abt '[] a Source #

coalesceNaryOp :: ABT Term abt => NaryOp a -> Seq (abt '[] a) -> Seq (abt '[] a) Source #