Safe Haskell | None |
---|---|
Language | Haskell2010 |
Converting back and forth between PrimExp
s.
Synopsis
- primExpToExp :: MonadBinder m => (v -> m (Exp (Lore m))) -> PrimExp v -> m (Exp (Lore m))
- primExpFromExp :: (MonadFail m, Annotations lore) => (VName -> m (PrimExp v)) -> Exp lore -> m (PrimExp v)
- primExpToSubExp :: MonadBinder m => String -> (v -> m (Exp (Lore m))) -> PrimExp v -> m SubExp
- primExpFromSubExp :: PrimType -> SubExp -> PrimExp VName
- primExpFromSubExpM :: Applicative m => (VName -> m (PrimExp v)) -> SubExp -> m (PrimExp v)
- replaceInPrimExp :: (a -> PrimType -> PrimExp b) -> PrimExp a -> PrimExp b
- replaceInPrimExpM :: Monad m => (a -> PrimType -> m (PrimExp b)) -> PrimExp a -> m (PrimExp b)
- substituteInPrimExp :: Ord v => Map v (PrimExp v) -> PrimExp v -> PrimExp v
- module Futhark.Analysis.PrimExp
Documentation
primExpToExp :: MonadBinder m => (v -> m (Exp (Lore m))) -> PrimExp v -> m (Exp (Lore m)) Source #
Convert a PrimExp
to a Futhark expression. The provided
function converts the leaves.
primExpFromExp :: (MonadFail m, Annotations lore) => (VName -> m (PrimExp v)) -> Exp lore -> m (PrimExp v) Source #
primExpToSubExp :: MonadBinder m => String -> (v -> m (Exp (Lore m))) -> PrimExp v -> m SubExp Source #
primExpFromSubExpM :: Applicative m => (VName -> m (PrimExp v)) -> SubExp -> m (PrimExp v) Source #
replaceInPrimExpM :: Monad m => (a -> PrimType -> m (PrimExp b)) -> PrimExp a -> m (PrimExp b) Source #
Applying a monadic transformation to the leaves in a PrimExp
.
substituteInPrimExp :: Ord v => Map v (PrimExp v) -> PrimExp v -> PrimExp v Source #
Substituting names in a PrimExp with other PrimExps
Module reexport
module Futhark.Analysis.PrimExp