uhc-light-1.1.8.3: Part of UHC packaged as cabal/hackage installable library

Safe HaskellNone
LanguageHaskell98

UHC.Light.Compiler.CoreRun.API.Internal

Contents

Description

CoreRun Internal API

Intended for implementing stuff that has to know about internals (i.e. class instances).

See CoreRun.API.

To do (currently sorely missing): proper/enough primitives, and doc for them.

Synopsis

CoreRun AST

The datatypes making up a CoreRun program, with constructors

data Alt Source

Constructors

Alt_Alt 

Fields

ref2nm_Alt_Alt :: !Ref2Nm
 
expr_Alt_Alt :: !Exp
 

Instances

data Pat Source

Constructors

Pat_Con 

Fields

tag_Pat_Con :: !Int
 
Pat_BoolExpr 

data RRef Source

Identifier references for use during running CoreRun

Constructors

RRef_Glb

global reference to module and its entry

Fields

rrefMod :: !Int

module

rrefEntry :: !Int

entry inside module

RRef_Loc

local reference to on stack value, not interpreted during running

Fields

rrefLev :: !Int

level when used statically

rrefEntry :: !Int

entry inside module

RRef_LDf

local reference to on stack value, but measured relative to level of from where is referenced, used at runtime

Fields

rrefLevDiff :: !Int

offset/difference in levels when used at runtime

rrefEntry :: !Int

entry inside module

RRef_Tag

tag of memory/constructor node referred to by other ref (not yet used)

Fields

rrefRef :: !RRef

of what this is the tag

RRef_Fld

fld of memory/constructor node referred to by other ref

Fields

rrefRef :: !RRef

of what this is the tag

rrefEntry :: !Int

entry inside module

RRef_Dbg

debug variant, holding original name

Fields

rrefNm :: !HsName
 

Instances

Utilities

crarrayFromList :: [x] -> CRArray x Source

Wrapper (rename) around vector-list conversion

crarrayToList :: CRArray x -> [x] Source

Wrapper (rename) around vector-list conversion

Re-export