Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Documentation
compile :: (C a, T a ~ al, C b, T b ~ bl, C param, Struct param ~ paramStruct) => (Exp param -> T al bl) -> IO (Ptr paramStruct -> Word -> Ptr a -> Ptr b -> IO Word) Source #
runAux :: (C p, C a, T a ~ al, C b, T b ~ bl) => (Exp p -> T al bl) -> IO (IO () -> p -> Vector a -> IO (Vector b)) Source #
run_ :: (C p, C a, T a ~ al, C b, T b ~ bl) => (Exp p -> T al bl) -> IO (p -> Vector a -> IO (Vector b)) Source #
compileChunky :: (IsSized paramStruct, Value (Ptr paramStruct) ~ pPtr, C state, Struct state ~ stateStruct, C global, Struct global ~ globalStruct, Triple paramStruct globalStruct stateStruct ~ triple, IsSized local, C a, T a ~ valueA, C b, T b ~ valueB) => (forall r z. Phi z => pPtr -> global -> Value (Ptr local) -> valueA -> state -> T r z (valueB, state)) -> (forall r. pPtr -> CodeGenFunction r (global, state)) -> (forall r. pPtr -> global -> CodeGenFunction r ()) -> IO (Ptr paramStruct -> IO (Ptr triple), Finalizer triple, Ptr triple -> Word -> Ptr a -> Ptr b -> IO Word) Source #
derefChunkPluggedPtr :: Importer (Ptr globalStateStruct -> Word -> Ptr inp -> Ptr out -> IO Word) Source #
compilePlugged :: (Undefined stateIn, Phi stateIn) => (Undefined stateOut, Phi stateOut) => (IsSized paramStruct, Value (Ptr paramStruct) ~ pPtr, C state, Struct state ~ stateStruct, C global, Struct global ~ globalStruct, Triple paramStruct globalStruct stateStruct ~ triple) => IsSized local => (C paramIn, Struct paramIn ~ inStruct) => (C paramOut, Struct paramOut ~ outStruct) => (forall r. paramIn -> stateIn -> CodeGenFunction r (valueA, stateIn)) -> (forall r. paramIn -> CodeGenFunction r stateIn) -> (forall r z. Phi z => pPtr -> global -> Value (Ptr local) -> valueA -> state -> T r z (valueB, state)) -> (forall r. pPtr -> CodeGenFunction r (global, state)) -> (forall r. pPtr -> global -> CodeGenFunction r ()) -> (forall r. paramOut -> valueB -> stateOut -> CodeGenFunction r stateOut) -> (forall r. paramOut -> CodeGenFunction r stateOut) -> IO (Ptr paramStruct -> IO (Ptr triple), Ptr triple -> IO (), Ptr triple -> Word -> Ptr inStruct -> Ptr outStruct -> IO Word) Source #
processIOParameterized :: (C p, Read a, x ~ Value (Ptr (Struct p))) => T a b -> T x b c -> T c d -> IO (IO (p, IO ()) -> T a d) Source #
processIOCore :: (C p, Read a) => T a b -> (Exp p -> T b c) -> T c d -> IO (IO (p, IO ()) -> T a d) Source #
processIO :: (C p, Read a, Default a, Default d) => (Exp p -> T (Element a) (Element d)) -> IO (p -> T a d) Source #