drasil-gool-0.1.1.0: A framework for code and document generation for scientific software - GOOL SubPackage
Safe HaskellNone
LanguageGHC2024

Drasil.Shared.LanguageRenderer

Description

The structure for a class of renderers is defined here.

Synopsis

Common Syntax

Default Functions available for use in renderers

file :: Doc -> Doc -> Doc -> Doc Source #

module' :: Doc -> Doc -> Doc -> Doc Source #

class' :: Label -> Doc -> Doc -> Doc -> Doc -> Doc Source #

block :: [Doc] -> Doc Source #

body :: [Doc] -> Doc Source #

print :: forall {k} r (val :: k). ValueElim r val => r val -> r val -> Doc Source #

stateVar :: Doc -> Doc -> Doc -> Doc Source #

switch :: forall {k} r (bod :: k) (stmt :: k) (val :: k). (BodyElim r bod, StatementElim r stmt, ValueElim r val) => (Doc -> Doc) -> r stmt -> r val -> r bod -> [(r val, r bod)] -> Doc Source #

assign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc Source #

addAssign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc Source #

subAssign :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => r var -> r val -> Doc Source #

increment :: forall {k} r (var :: k). InternalVarElim r var => r var -> Doc Source #

decrement :: forall {k} r (var :: k). InternalVarElim r var => r var -> Doc Source #

return' :: forall {k} r (val :: k). ValueElim r val => [r val] -> Doc Source #

arg :: forall {k} r (val :: k). ValueElim r val => r val -> r val -> Doc Source #

listAccessFunc :: forall {k} r (val :: k). ValueElim r val => r val -> Doc Source #

blockCmt :: [String] -> Doc -> Doc -> Doc Source #

docCmt :: [String] -> Doc -> Doc -> Doc Source #

valueList :: forall {k} r (val :: k). ValueElim r val => [r val] -> Doc Source #

variableList :: forall {k} r (var :: k). InternalVarElim r var => [r var] -> Doc Source #

binderList :: forall {k} r (binder :: k). InternalBinderElim r binder => [r binder] -> Doc Source #

parameterList :: forall {k} r (param :: k) (typ :: k). ParamElim r param typ => [r param] -> Doc Source #

namedArgList :: forall {k} r (var :: k) (val :: k). (InternalVarElim r var, ValueElim r val) => Doc -> [(r var, r val)] -> Doc Source #

intValue :: forall {k} r (typ :: k) (val :: k). (TypeElim r typ, ValueSym r val typ) => VS (r val) -> VS (r val) Source #