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

Drasil.Shared.LanguageRenderer.Common

Description

Implementations defined here are valid in some, but not all, language renderers

Synopsis

Documentation

extVar :: forall {k} r (var :: k) (typ :: k). RenderVariable r var typ => Label -> Label -> VS (r typ) -> VS (r var) Source #

funcType :: (Monad r, TypeElim r TypeData) => [VS (r TypeData)] -> VS (r TypeData) -> VS (r TypeData) Source #

extFuncAppMixedArgs :: forall {k} r (var :: k) (val :: k) (typ :: k). RenderValue r var val typ => Library -> MixedCall r var val typ Source #

listAccessFunc :: (RenderFunction r typ, TypeElim r typ, ValueElim r val, ValueSym r val typ) => VS (r typ) -> VS (r val) -> VS (r FuncData) Source #

forEach' :: RenderStatement r stmt => (r var -> r val -> r Body -> Doc) -> VS (r var) -> VS (r val) -> MS (r Body) -> MS (r stmt) Source #

varDecDef :: (EmptyStatement r stmt, AssignStatement r stmt var val, ScopeElim r ScopeData, VariableElim r var typ) => VS (r var) -> r ScopeData -> Maybe (VS (r val)) -> MS (r stmt) Source #

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

Call to get the size of a list as a function call

increment :: forall {k} r (var :: k) (stmt :: k) (val :: k). (InternalVarElim r var, RenderStatement r stmt, ValueElim r val) => VS (r var) -> VS (r val) -> MS (r stmt) Source #