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

Drasil.GProc.LanguageRenderer.AbstractProc

Synopsis

Documentation

fileDoc :: RenderFile r file mod => String -> FS (r mod) -> FS (r file) Source #

fileFromData :: forall {k} r (mod :: k) (file :: k). ModuleElim r mod => (FilePath -> r mod -> r file) -> FilePath -> FS (r mod) -> FS (r file) Source #

buildModule :: forall {k} r (mthd :: k) (mod :: k). (MethodElim r mthd, RenderMod r mod) => Label -> FS Doc -> FS Doc -> [MS (r mthd)] -> FS (r mod) Source #

docMod :: (BlockCommentSym r, RenderFile r file mod) => String -> String -> String -> [String] -> String -> FS (r file) -> FS (r file) Source #

modFromData :: forall {k} r (mod :: k). Label -> (Doc -> r mod) -> FS Doc -> FS (r mod) Source #

innerType :: forall {k} r (typ :: k). (TypeSym r typ, TypeElim r typ) => VS (r typ) -> VS (r typ) Source #

arrayElem :: forall {k} r (typ :: k) (val :: k) (var :: k). (TypeSym r typ, ValueSym r val typ, IndexTranslator r val, RenderVariable r var typ, TypeElim r typ, ValueElim r val) => VS (r val) -> VS (r val) -> VS (r var) Source #

listAppend :: forall {k} r (typ :: k) (stmt :: k) (val :: k) (var :: k) (binder :: k). (TypeSym r typ, ValueStatement r stmt val, ValueExpression r var val binder typ) => String -> VS (r val) -> VS (r val) -> MS (r stmt) Source #

Call to append a value to a list using a function call

listAdd :: forall {k} r (typ :: k) (val :: k) (stmt :: k) (var :: k) (binder :: k). (TypeSym r typ, IndexTranslator r val, ValueStatement r stmt val, ValueExpression r var val binder typ) => String -> VS (r val) -> VS (r val) -> VS (r val) -> MS (r stmt) Source #

Call to insert a value into a list as a function call

funcDecDef :: ProcRenderSym r file mod mthd vis param bod block stmt var ScopeData val binder typ => VS (r var) -> r ScopeData -> [VS (r var)] -> MS (r bod) -> MS (r stmt) Source #

function :: forall {k} r (typ :: k) (mthd :: k) (vis :: k) (param :: k) (bod :: k). (MethodTypeSym r typ, ProcRenderMethod r mthd vis param bod typ) => Label -> r vis -> VS (r typ) -> [MS (r param)] -> MS (r bod) -> MS (r mthd) Source #