imperative-edsl-0.5: Deep embedding of imperative programs with code generation

Safe HaskellNone
LanguageHaskell2010

Language.Embedded.Backend.C.Expression

Synopsis

Documentation

class FreeExp exp => CompExp exp where Source

General interface for compiling expressions

Methods

compExp :: MonadC m => exp a -> m Exp Source

Compilation of expressions

Instances

proxyArg :: proxy1 (proxy2 a) -> Proxy a Source

Remove one layer of a nested proxy

freshVar :: forall m a. (MonadC m, CType a) => m (Val a) Source

Create and declare a fresh variable