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

Safe HaskellNone
LanguageHaskell2010

Language.Embedded.Imperative.Args

Description

Various types of function arguments

Synopsis

Documentation

data ValArg exp where Source

Value argument

Constructors

ValArg :: VarPred exp a => exp a -> ValArg exp 

Instances

data RefArg exp where Source

Reference argument

Constructors

RefArg :: VarPred exp a => Ref a -> RefArg exp 

Instances

data ArrArg exp where Source

Array argument

Constructors

ArrArg :: VarPred exp a => Arr n a -> ArrArg exp 

Instances

data ObjArg exp where Source

Abstract object argument

Constructors

ObjArg :: Object -> ObjArg exp 

Instances

Arg (ObjArg (* -> *)) Source 

data StrArg exp where Source

Constant string argument

Constructors

StrArg :: String -> StrArg exp 

Instances

Arg (StrArg (* -> *)) Source 

newtype Addr arg exp Source

Modifier that takes the address of another argument

Constructors

Addr (arg exp) 

Instances

Arg arg => Arg (Addr (* -> *) arg) Source