drasil-gool-0.1.1.0: A framework for code and document generation for scientific software - GOOL SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Drasil.Shared.LanguageRenderer.Macros

Description

Language-polymorphic functions that are defined by GOOL code

Synopsis

Documentation

ifExists :: (ControlStatement r smt, ValueExpression r) => SValue r -> MS (r Body) -> MS (r Body) -> MS (r smt) Source #

decrement1 :: (AssignStatement r smt, Literal r) => SVariable r -> MS (r smt) Source #

increment1 :: (AssignStatement r smt, Literal r) => SVariable r -> MS (r smt) Source #

runStrategy :: (AssignStatement r smt, BodyElim r, Monad r, RenderStatement r smt, StatementElim r smt) => Label -> [(Label, MS (r Body))] -> Maybe (SValue r) -> Maybe (SVariable r) -> MS (r Doc) Source #

makeSetterVal :: SharedStatement r smt => Label -> SValue r -> Maybe Integer -> Maybe (SValue r) -> SValue r -> SValue r -> r ScopeData -> (MS (r smt), SValue r) Source #

Gets the expression and code for setting bounds in a list slice Input: - String: Variable name for bound (to be created if necessary), - SValue: step value - Maybe Integer: literal value of step, if exists - Maybe SValue: given value of bound - SValue: value of bound if bound not given and step is positive - SValue: value of bound if bound not given and step is negative Output: (SValue): (setter, value) of bound

stringListVals :: (AssignStatement r smt, List r smt, Literal r, RenderValue r, TypeElim r, VariableElim r) => [SVariable r] -> SValue r -> MS (r smt) Source #

forRange :: SharedStatement r smt => SVariable r -> SValue r -> SValue r -> SValue r -> MS (r Body) -> MS (r smt) Source #

notifyObservers :: OOStatement r smt => VS (r FuncData) -> VS (r TypeData) -> MS (r smt) Source #

notifyObservers' :: OOStatement r smt => VS (r FuncData) -> VS (r TypeData) -> MS (r smt) Source #