sslang-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

IR

Description

Intermediate representation (IR) stages of the compiler pipeline.

Synopsis

Documentation

data Mode Source #

Operation modes for the IR compiler stage.

By default, Continue completes the pipeline end-to-end.

Instances

Instances details
Eq Mode Source # 
Instance details

Defined in IR

Methods

(==) :: Mode -> Mode -> Bool #

(/=) :: Mode -> Mode -> Bool #

Show Mode Source # 
Instance details

Defined in IR

Methods

showsPrec :: Int -> Mode -> ShowS #

show :: Mode -> String #

showList :: [Mode] -> ShowS #

newtype Options Source #

Compiler options for the IR compiler stage.

Constructors

Options 

Fields

Instances

Instances details
Eq Options Source # 
Instance details

Defined in IR

Methods

(==) :: Options -> Options -> Bool #

(/=) :: Options -> Options -> Bool #

Show Options Source # 
Instance details

Defined in IR

Default Options Source # 
Instance details

Defined in IR

Methods

def :: Options Source #

options :: [OptDescr (Options -> Options)] Source #

CLI options for the IR compiler stage.

lower :: Options -> Program -> Pass (Program Annotations) Source #

Lower from AST to IR (with annotations).

typecheck :: Options -> Program Annotations -> Pass (Program Type) Source #

Type inference + check against type annotations.

After this stage, no compiler errors should be thrown.

transform :: Options -> Program Type -> Pass (Program Type) Source #

IR transformations to prepare for codegen.

run :: Options -> Program -> Pass (Program Type) Source #

IR compiler stage.