stgi-1.1: Educational implementation of the STG (Spineless Tagless G-machine)

Safe HaskellSafe
LanguageHaskell2010

Stg.Language.Prettyprint

Description

Prettyprinting STG elements in various formats.

Synopsis

Documentation

class PrettyStgi a where Source #

Minimal complete definition

prettyStgi

Methods

prettyStgi :: a -> Doc StgiAnn Source #

Instances

PrettyStgi Bool Source # 
PrettyStgi Int Source # 
PrettyStgi Integer Source # 
PrettyStgi Constr Source # 
PrettyStgi Atom Source # 
PrettyStgi Var Source # 
PrettyStgi PrimOp Source # 
PrettyStgi Literal Source # 
PrettyStgi DefaultAlt Source # 
PrettyStgi PrimitiveAlt Source # 
PrettyStgi AlgebraicAlt Source # 
PrettyStgi Alts Source # 
PrettyStgi Expr Source # 
PrettyStgi Rec Source # 
PrettyStgi LambdaType Source # 
PrettyStgi LambdaForm Source # 
PrettyStgi Binds Source # 
PrettyStgi Program Source # 
PrettyStgi HeapObject Source # 
PrettyStgi Heap Source # 
PrettyStgi Closure Source # 
PrettyStgi InfoDetail Source # 
PrettyStgi StateError Source # 
PrettyStgi NotInScope Source # 
PrettyStgi StateTransition Source # 
PrettyStgi InfoShort Source # 
PrettyStgi Info Source # 
PrettyStgi Locals Source # 
PrettyStgi Globals Source # 
PrettyStgi Code Source # 
PrettyStgi Value Source # 
PrettyStgi MemAddr Source # 
PrettyStgi StackFrame Source # 
PrettyStgi StgState Source # 
PrettyStgi a => PrettyStgi [a] Source # 

Methods

prettyStgi :: [a] -> Doc StgiAnn Source #

(PrettyStgi a, PrettyStgi b) => PrettyStgi (a, b) Source # 

Methods

prettyStgi :: (a, b) -> Doc StgiAnn Source #

(PrettyStgi k, PrettyStgi v) => PrettyStgi (Mapping k v) Source # 

data StateAnn Source #

Semantic annotations for rendering.

Constructors

Headline

Style of headlines in the state overview, such as "Heap" and "Frame i".

Address

Style of memory addresses, including 0x prefix.

AddressCore

Style of memory addresses; applied only to the actual address number, such as ff in 0xff.

ClosureType

Style of the type of a closure, such as BLACKHOLE or FUN.

StackFrameType

Style of the stack frame annotation, such as UPD or ARG.

data AstAnn Source #

The different semantic annotations an STG AST element can have.

prettyprintOldAnsi :: Doc -> Text Source #

Prettyprint a value as Text, including styles such as colours.