llvm-dsl-0.1.2: Support for writing an EDSL with LLVM-JIT as target
Safe HaskellSafe-Inferred
LanguageHaskell98

LLVM.DSL.Render.Argument

Synopsis

Documentation

data T a adsl Source #

Transfer a to adsl with al as transit stop.

Constructors

forall al.C al => Cons (Exp al -> adsl) (a -> Creator al) 

type Creator p = IO (p, IO ()) Source #

unit :: T () () Source #

primitive :: C a => T a (Exp a) Source #

wrap :: C a => (b -> a) -> (adsl -> bdsl) -> T a adsl -> T b bdsl Source #

pair :: T a ad -> T b bd -> T (a, b) (ad, bd) Source #

triple :: T a ad -> T b bd -> T c cd -> T (a, b, c) (ad, bd, cd) Source #

newDispose :: C handle => (a -> IO handle) -> (handle -> IO ()) -> (Exp handle -> ad) -> T a ad Source #