Language.Embedded.Imperative

Program monad

data ProgramT instr m a

type Program instr

interpretT

interpret

Imperative instructions

data RefCMD exp prog a

data ArrCMD exp prog a

data ControlCMD exp prog a

data FileCMD exp prog a

data CallCMD exp prog a

Types of Printf arguments

data PrintfArg exp

Composing instruction sets

data (f :+: g) a b

class f :<: g

type family IExp i :: * -> *

Interpreting expressions

type family VarPred exp :: * -> Constraint

class EvalExp exp

class CompExp exp

Front end