Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- primExpFromExp :: (MonadFail m, RepTypes rep) => (VName -> m (PrimExp v)) -> Exp rep -> m (PrimExp v)
- primExpFromSubExp :: PrimType -> SubExp -> PrimExp VName
- pe32 :: SubExp -> TPrimExp Int32 VName
- le32 :: a -> TPrimExp Int32 a
- pe64 :: SubExp -> TPrimExp Int64 VName
- le64 :: a -> TPrimExp Int64 a
- f32pe :: SubExp -> TPrimExp Float VName
- f32le :: a -> TPrimExp Float a
- f64pe :: SubExp -> TPrimExp Double VName
- f64le :: a -> TPrimExp Double a
- 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
- primExpSlice :: Slice SubExp -> Slice (TPrimExp Int64 VName)
- subExpSlice :: MonadBuilder m => Slice (TPrimExp Int64 VName) -> m (Slice SubExp)
- module Futhark.Analysis.PrimExp
Documentation
primExpFromExp :: (MonadFail m, RepTypes rep) => (VName -> m (PrimExp v)) -> Exp rep -> m (PrimExp v) Source #
primExpFromSubExpM :: Applicative m => (VName -> m (PrimExp v)) -> SubExp -> m (PrimExp v) Source #
Like primExpFromExp
, but for a SubExp
.
replaceInPrimExp :: (a -> PrimType -> PrimExp b) -> PrimExp a -> PrimExp b Source #
As replaceInPrimExpM
, but in the identity monad.
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
subExpSlice :: MonadBuilder m => Slice (TPrimExp Int64 VName) -> m (Slice SubExp) Source #
Module reexport
module Futhark.Analysis.PrimExp