Language.Embedded.Imperative

Program monad

data ProgramT instr fs m a

type Program instr fs

interpretT

interpret

interpretBiT

interpretBi

type Param1 a

type Param2 a b

type Param3 a b c

Imperative instructions

data RefCMD fs a

data ArrCMD fs a

data ControlCMD fs a

data PtrCMD fs a

data FileCMD fs a

data C_CMD fs a

Composing instruction sets

data (h1 :+: h2) fs a

class sub :<: sup

Interface for expression types

class FreeExp exp

class EvalExp exp

class CompExp exp

Front end