Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- simplifyKernels :: Prog Kernels -> PassM (Prog Kernels)
- simplifyLambda :: (HasScope InKernel m, MonadFreshNames m) => KernelSpace -> Lambda InKernel -> [Maybe VName] -> m (Lambda InKernel)
- simplifyKernelOp :: (SimplifiableLore lore, SimplifiableLore outerlore, BodyAttr outerlore ~ (), BodyAttr lore ~ (), ExpAttr lore ~ ExpAttr outerlore, SameScope lore outerlore, RetType lore ~ RetType outerlore, BranchType lore ~ BranchType outerlore) => (KernelSpace -> SimpleOps lore) -> Env lore -> Kernel lore -> SimpleM outerlore (Kernel (Wise lore), Stms (Wise outerlore))
- simplifyKernelExp :: SimplifiableLore lore => KernelSpace -> KernelExp lore -> SimpleM lore (KernelExp (Wise lore), Stms (Wise lore))
Documentation
simplifyLambda :: (HasScope InKernel m, MonadFreshNames m) => KernelSpace -> Lambda InKernel -> [Maybe VName] -> m (Lambda InKernel) Source #
Building blocks
simplifyKernelOp :: (SimplifiableLore lore, SimplifiableLore outerlore, BodyAttr outerlore ~ (), BodyAttr lore ~ (), ExpAttr lore ~ ExpAttr outerlore, SameScope lore outerlore, RetType lore ~ RetType outerlore, BranchType lore ~ BranchType outerlore) => (KernelSpace -> SimpleOps lore) -> Env lore -> Kernel lore -> SimpleM outerlore (Kernel (Wise lore), Stms (Wise outerlore)) Source #
simplifyKernelExp :: SimplifiableLore lore => KernelSpace -> KernelExp lore -> SimpleM lore (KernelExp (Wise lore), Stms (Wise lore)) Source #