epic

Epic.Language

Synopsis

Documentation

data CompileOptions

(Debugging) options to give to compiler

Constructors

KeepC

Keep intermediate C file

Trace

Generate trace at run-time (debug)

ShowBytecode

Show generated code

ShowParseTree

Show parse tree

MakeHeader FilePath

Output a .h file too

GCCOpt String

Extra GCC option

Debug

Generate debug info

Checking Int

Checking level (0 none)

ExternalMain

main is defined externally (in C)

MainInc FilePath

File to #include in main program

LinkObj FilePath

.o file to link with

Instances

data Type

Instances

Eq Type 
Show Type 
SubstV (Expr, Type) 
RtoV a => RtoV (a, Type) 
Quote a => Quote (a, Type) 
HOAS a a => HOAS (a, Type) (a, Type) 

data Name

Constructors

UN String 
MN String Int 

Instances

type Context = [(Name, ([Type], Type))]

type Tag = Int

type HFun = Expr -> Expr

data HRHS

Constructors

HExp Expr 
HBind Name Type (Expr -> HRHS) 

Instances

Eq HRHS 
Eq (Expr -> HRHS) 

data Allocator

Constructors

FixedPool 
GrowablePool 

data Func

Constructors

Bind 

Fields

fun_args :: [(Name, Type)]
 
locals :: Int
 
defn :: Expr
 
flags :: [CGFlag]
 

Instances

data Decl

Instances

data EvalDecl

Constructors

EDecl 

Fields

ename :: Name
 
edef :: Expr
 
EDirective 

class SubstV x where

Methods

subst :: Int -> Expr -> x -> x

Instances

class HOAS a b | a -> b where

Methods

hoas :: Int -> a -> b

mkHOAS :: a -> b

Instances

HOAS Func Expr 
HOAS CaseAlt CaseAlt 
HOAS Expr Expr 
HOAS a a => HOAS [a] [a] 
HOAS a a => HOAS (a, Type) (a, Type) 

data CGFlag

Constructors

Inline 
Strict 

Instances

data Result r

Constructors

Success r 
Failure String String Int 

Instances