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

Drasil.Shared.InterfaceCommon

Synopsis

Documentation

type Body = Doc Source #

type Block = Doc Source #

type VSBinder a = VS (a BinderD) Source #

type SValue a = VS (a Value) Source #

type NamedArgs r = [(SVariable r, SValue r)] Source #

type MixedCall r = Label -> VS (r TypeData) -> [SValue r] -> NamedArgs r -> SValue r Source #

type MixedCtorCall r = VS (r TypeData) -> [SValue r] -> NamedArgs r -> SValue r Source #

type PosCall r = Label -> VS (r TypeData) -> [SValue r] -> SValue r Source #

type PosCtorCall r = VS (r TypeData) -> [SValue r] -> SValue r Source #

type InOutCall r smt = Label -> [SValue r] -> [SVariable r] -> [SVariable r] -> MS (r smt) Source #

type InOutFunc r md = [SVariable r] -> [SVariable r] -> [SVariable r] -> MS (r Body) -> MS (r md) Source #

type DocInOutFunc r md = String -> [(String, SVariable r)] -> [(String, SVariable r)] -> [(String, SVariable r)] -> MS (r Body) -> MS (r md) Source #

class (Array r, AssignStatement r smt, Argument r, BooleanExpression r, CommandLineArgs r, CommentStatement r smt, Comparison r, ControlStatement r smt, DeclStatement r smt, FuncAppStatement r smt, IOStatement r smt, List r smt, Literal r, MathConstant r, NumericExpression r, ParameterSym r, Reference r, Set r, StringStatement r smt, ValueExpression r, VariableValue r) => SharedStatement r smt Source #

class UnRepr repr contents where Source #

Methods

unRepr :: repr contents -> contents Source #

Instances

Instances details
UnRepr CodeInfoOO contents Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Methods

unRepr :: CodeInfoOO contents -> contents Source #

UnRepr CSharpCode contents Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Methods

unRepr :: CSharpCode contents -> contents Source #

UnRepr CppHdrCode contents Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

unRepr :: CppHdrCode contents -> contents Source #

UnRepr CppSrcCode contents Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

unRepr :: CppSrcCode contents -> contents Source #

UnRepr JavaCode contents Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Methods

unRepr :: JavaCode contents -> contents Source #

UnRepr PythonCode contents Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Methods

unRepr :: PythonCode contents -> contents Source #

UnRepr SwiftCode contents Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Methods

unRepr :: SwiftCode contents -> contents Source #

UnRepr JuliaCode inner Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Methods

unRepr :: JuliaCode inner -> inner Source #

UnRepr MatlabCode inner Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Methods

unRepr :: MatlabCode inner -> inner Source #

UnRepr r contents => UnRepr (LoggingFor r) contents Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

unRepr :: LoggingFor r contents -> contents Source #

Pair p => UnRepr (p CppSrcCode CppHdrCode) contents Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

unRepr :: p CppSrcCode CppHdrCode contents -> contents Source #

class BlockSym r smt => BodySym r smt where Source #

Methods

body :: [MS (r Block)] -> MS (r Body) Source #

addComments :: Label -> MS (r Body) -> MS (r Body) Source #

Instances

Instances details
BodySym CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

BodySym CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

BodySym CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BodySym CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BodySym JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

BodySym PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

BodySym SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

BodySym JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

BodySym MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

BodySym r smt => BodySym (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => BodySym (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

bodyStatements :: BodySym r smt => [MS (r smt)] -> MS (r Body) Source #

oneLiner :: BodySym r smt => MS (r smt) -> MS (r Body) Source #

class StatementSym r smt => BlockSym r smt where Source #

Methods

block :: [MS (r smt)] -> MS (r Block) Source #

Instances

Instances details
BlockSym CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Methods

block :: [MS (CodeInfoOO ())] -> MS (CodeInfoOO Block) Source #

BlockSym CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

BlockSym CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BlockSym CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BlockSym JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

BlockSym PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

BlockSym SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

BlockSym JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

BlockSym MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

BlockSym r smt => BlockSym (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

block :: [MS (LoggingFor r smt)] -> MS (LoggingFor r Block) Source #

Pair p => BlockSym (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class TypeSym r where Source #

Instances

Instances details
TypeSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

TypeSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

TypeSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

TypeSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

TypeSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

TypeSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

TypeSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

TypeSym JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

TypeSym MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

TypeSym r => TypeSym (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => TypeSym (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class TypeSym r => TypeElim r where Source #

Instances

Instances details
TypeElim CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

TypeElim CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

TypeElim CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

TypeElim CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

TypeElim JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

TypeElim PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

TypeElim SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

TypeElim JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

TypeElim MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

TypeElim r => TypeElim (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => TypeElim (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

getTypeString :: UnRepr r TypeData => r TypeData -> String Source #

A helper function for extracting the String representation from an `r TypeData`

class TypeSym r => VariableSym r where Source #

Methods

var :: Label -> VS (r TypeData) -> SVariable r Source #

An instance- or function-level variable, separate from its instance (i.e. v, not `o.v`)

constant :: Label -> VS (r TypeData) -> SVariable r Source #

An instance- or function-level constant, separate from its instance (i.e. v, not `o.v`)

extVar :: Library -> Label -> VS (r TypeData) -> SVariable r Source #

An instance- or module-level variable from an external library. Given library Lib, variable name v, and variable type t, it performs the necessary imports and creates v

Instances

Instances details
VariableSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

VariableSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

VariableSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VariableSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VariableSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

VariableSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

VariableSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

VariableSym JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

VariableSym MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

VariableSym r => VariableSym (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => VariableSym (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ScopeSym r where Source #

Instances

Instances details
ScopeSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ScopeSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ScopeSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ScopeSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ScopeSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ScopeSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ScopeSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ScopeSym JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ScopeSym MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ScopeSym r => ScopeSym (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => ScopeSym (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => VariableElim r where Source #

Instances

Instances details
VariableElim CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

VariableElim CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

VariableElim CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VariableElim CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VariableElim JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

VariableElim PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

VariableElim SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

VariableElim JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

VariableElim MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

VariableElim r => VariableElim (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => VariableElim (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class TypeSym r => ValueSym r where Source #

Methods

valueType :: r Value -> r TypeData Source #

Instances

Instances details
ValueSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ValueSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ValueSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ValueSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ValueSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ValueSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ValueSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ValueSym JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ValueSym MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ValueSym r => ValueSym (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => ValueSym (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => Argument r where Source #

Methods

pointerArg :: SValue r -> SValue r Source #

Instances

Instances details
Argument CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Argument CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Argument CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Argument CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Argument JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Argument PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Argument SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Argument JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Argument MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Argument r => Argument (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => Argument (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => Literal r where Source #

Instances

Instances details
Literal CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Literal CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Literal CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Literal CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Literal JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Literal PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Literal SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Literal JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Literal MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Literal r => Literal (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => Literal (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => MathConstant r where Source #

Methods

pi :: SValue r Source #

Instances

Instances details
MathConstant CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

MathConstant CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

MathConstant CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

MathConstant CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

MathConstant JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

MathConstant PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

MathConstant SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

MathConstant JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

MathConstant MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

MathConstant r => MathConstant (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

pi :: SValue (LoggingFor r) Source #

Pair p => MathConstant (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (VariableSym r, ValueSym r) => VariableValue r where Source #

Methods

valueOf :: SVariable r -> SValue r Source #

Instances

Instances details
VariableValue CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

VariableValue CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

VariableValue CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VariableValue CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VariableValue JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

VariableValue PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

VariableValue SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

VariableValue JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

VariableValue MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

VariableValue r => VariableValue (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => VariableValue (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => CommandLineArgs r where Source #

Instances

Instances details
CommandLineArgs CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

CommandLineArgs CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

CommandLineArgs CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

CommandLineArgs CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

CommandLineArgs JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

CommandLineArgs PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

CommandLineArgs SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

CommandLineArgs JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

CommandLineArgs MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

CommandLineArgs r => CommandLineArgs (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => CommandLineArgs (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => NumericExpression r where Source #

Methods

(#~) :: SValue r -> SValue r infixl 8 Source #

(#/^) :: SValue r -> SValue r infixl 7 Source #

(#|) :: SValue r -> SValue r infixl 7 Source #

(#+) :: SValue r -> SValue r -> SValue r infixl 5 Source #

(#-) :: SValue r -> SValue r -> SValue r infixl 5 Source #

(#*) :: SValue r -> SValue r -> SValue r infixl 6 Source #

(#/) :: SValue r -> SValue r -> SValue r infixl 6 Source #

(#%) :: SValue r -> SValue r -> SValue r infixl 6 Source #

(#^) :: SValue r -> SValue r -> SValue r infixl 7 Source #

log :: SValue r -> SValue r Source #

ln :: SValue r -> SValue r Source #

exp :: SValue r -> SValue r Source #

sin :: SValue r -> SValue r Source #

cos :: SValue r -> SValue r Source #

tan :: SValue r -> SValue r Source #

csc :: SValue r -> SValue r Source #

sec :: SValue r -> SValue r Source #

cot :: SValue r -> SValue r Source #

arcsin :: SValue r -> SValue r Source #

arccos :: SValue r -> SValue r Source #

arctan :: SValue r -> SValue r Source #

floor :: SValue r -> SValue r Source #

ceil :: SValue r -> SValue r Source #

Instances

Instances details
NumericExpression CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

NumericExpression CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

NumericExpression CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

NumericExpression CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

NumericExpression JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

NumericExpression PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

NumericExpression SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

NumericExpression JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

NumericExpression MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

NumericExpression r => NumericExpression (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

(#~) :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#/^) :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#|) :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#+) :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#-) :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#*) :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#/) :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#%) :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

(#^) :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

log :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

ln :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

exp :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

sin :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

cos :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

tan :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

csc :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

sec :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

cot :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

arcsin :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

arccos :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

arctan :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

floor :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

ceil :: SValue (LoggingFor r) -> SValue (LoggingFor r) Source #

Pair p => NumericExpression (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

(#~) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#/^) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#|) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#+) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#-) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#*) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#/) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#%) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

(#^) :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

log :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

ln :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

exp :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

sin :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

cos :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

tan :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

csc :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

sec :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

cot :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

arcsin :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

arccos :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

arctan :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

floor :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

ceil :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) Source #

class ValueSym r => BooleanExpression r where Source #

Methods

(?!) :: SValue r -> SValue r infixr 6 Source #

(?&&) :: SValue r -> SValue r -> SValue r infixl 2 Source #

(?||) :: SValue r -> SValue r -> SValue r infixl 1 Source #

Instances

Instances details
BooleanExpression CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

BooleanExpression CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

BooleanExpression CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BooleanExpression CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BooleanExpression JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

BooleanExpression PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

BooleanExpression SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

BooleanExpression JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

BooleanExpression MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

BooleanExpression r => BooleanExpression (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => BooleanExpression (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => Comparison r where Source #

Methods

(?<) :: SValue r -> SValue r -> SValue r infixl 4 Source #

(?<=) :: SValue r -> SValue r -> SValue r infixl 4 Source #

(?>) :: SValue r -> SValue r -> SValue r infixl 4 Source #

(?>=) :: SValue r -> SValue r -> SValue r infixl 4 Source #

(?==) :: SValue r -> SValue r -> SValue r infixl 3 Source #

(?!=) :: SValue r -> SValue r -> SValue r infixl 3 Source #

Instances

Instances details
Comparison CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Comparison CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Comparison CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Comparison CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Comparison JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Comparison PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Comparison SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Comparison JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Comparison MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Comparison r => Comparison (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => Comparison (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (VariableSym r, ValueSym r) => ValueExpression r where Source #

Instances

Instances details
ValueExpression CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ValueExpression CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ValueExpression CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ValueExpression CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ValueExpression JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ValueExpression PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ValueExpression SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ValueExpression JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ValueExpression MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ValueExpression r => ValueExpression (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => ValueExpression (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => IndexTranslator r where Source #

Methods

intToIndex :: SValue r -> SValue r Source #

Does any necessary conversions from GOOL's zero-indexed assumptions to the target language's assumptions

indexToInt :: SValue r -> SValue r Source #

Does any necessary conversions from the target language's indexing assumptions assumptions to GOOL's zero-indexed assumptions

Instances

Instances details
IndexTranslator CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

IndexTranslator CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

IndexTranslator CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

IndexTranslator CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

IndexTranslator JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

IndexTranslator PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

IndexTranslator SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

IndexTranslator JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

IndexTranslator MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

IndexTranslator r => IndexTranslator (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => IndexTranslator (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (TypeSym r, ValueSym r) => Reference r where Source #

Methods

makeRef :: SValue r -> SValue r Source #

Given a value, convert it to a reference to that value

maybeDeref :: SValue r -> SValue r Source #

Given a value that may be a reference type, apply any necessary dereference operation.

Instances

Instances details
Reference CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Reference CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Reference CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Reference CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Reference JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Reference PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Reference SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Reference JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Reference MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Reference r => Reference (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => Reference (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class IndexTranslator r => Array r where Source #

Methods

arrayElem :: SValue r -> SValue r -> SVariable r Source #

Given array a and index i, creates `a[i]`

arrayLength :: SValue r -> SValue r Source #

Given an array, return its length

arrayCopy :: SValue r -> SValue r Source #

Given a source array, create a (shallow) copy of it

Instances

Instances details
Array CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Array CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Array CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Array CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Array JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Array PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Array SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Array JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Array MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Array r => Array (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => Array (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (IndexTranslator r, StatementSym r smt) => List r smt where Source #

Methods

listSize :: SValue r -> SValue r Source #

listAdd :: SValue r -> SValue r -> SValue r -> MS (r smt) Source #

Inserts a value into a list. Arguments are: List, Index, Value

listAppend :: SValue r -> SValue r -> MS (r smt) Source #

Appens a value to a list. Arguments are: List, Value

listAccess :: SValue r -> SValue r -> SValue r Source #

Gets the value of an index of a list. Arguments are: List, Index

listSet :: SValue r -> SValue r -> SValue r -> MS (r smt) Source #

Sets the value of an index of a list. Arguments are: List, Index, Value

indexOf :: SValue r -> SValue r -> SValue r Source #

Finds the index of the first occurrence of a value in a list. Arguments are: List, Value

Instances

Instances details
List CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

List CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

List CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

List CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

List JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

List PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

List SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

List JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

List MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

List r smt => List (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => List (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => Set r where Source #

Methods

contains :: SValue r -> SValue r -> SValue r Source #

Checks membership Arguments are: Set, Value

setAdd :: SValue r -> SValue r -> SValue r Source #

Inserts a value into a set Arguments are: Set, Value

setRemove :: SValue r -> SValue r -> SValue r Source #

Removes a value from a set Arguments are: Set, Value

setUnion :: SValue r -> SValue r -> SValue r Source #

Removes a value from a set Arguments are: Set, Set

Instances

Instances details
Set CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Set CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Set CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Set CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Set JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Set PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Set SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Set JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Set MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Set r => Set (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => Set (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (IndexTranslator r, Literal r) => NativeVector r where Source #

Vector operations for languages with native vector support (e.g. MATLAB, Julia). Expression-based: every operation takes and returns SValues, so operations compose like math (e.g. vecAdd (vecScale s a) b). Vectors have their own vecType and litVec so callers don't depend on how vectors are represented; these default to listType and litList.

Minimal complete definition

vecScale, vecAdd, vecIndex, vecDot, vecMag, vecUnit

Methods

vecType :: VS (r TypeData) -> VS (r TypeData) Source #

The type of a vector with the given element type. Defaults to listType; a language may override it to use a distinct vector representation.

litVec :: VS (r TypeData) -> [SValue r] -> SValue r Source #

A vector literal with the given element type and elements. Defaults to litList.

vecScale :: SValue r -> SValue r -> SValue r Source #

Scales a vector by a scalar. Arguments are: Scalar, Vector

vecAdd :: SValue r -> SValue r -> SValue r Source #

Adds two vectors elementwise. Arguments are: Vector, Vector

vecIndex :: SValue r -> SValue r -> SValue r Source #

Gets the element of a vector at an index. Arguments are: Vector, Index

vecDot :: SValue r -> SValue r -> SValue r Source #

Dot product of two vectors (returns a scalar). Arguments are: Vector, Vector

vecMag :: SValue r -> SValue r Source #

Euclidean norm (magnitude) of a vector (returns a scalar). Argument is: Vector

vecUnit :: SValue r -> SValue r Source #

Unit vector in the direction of a vector (returns a vector). Argument is: Vector

Instances

Instances details
NativeVector JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

NativeVector MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

NativeVector lang => NativeVector (LoggingFor lang) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

class ValueSym r => InternalList r where Source #

Methods

listSlice' :: Maybe (SValue r) -> Maybe (SValue r) -> Maybe (SValue r) -> SVariable r -> SValue r -> MS (r Block) Source #

Instances

Instances details
InternalList CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

InternalList CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

InternalList CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

InternalList CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

InternalList JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

InternalList PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

InternalList SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

InternalList JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

InternalList MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

InternalList r => InternalList (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => InternalList (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

listSlice :: InternalList r => SVariable r -> SValue r -> Maybe (SValue r) -> Maybe (SValue r) -> Maybe (SValue r) -> MS (r Block) Source #

Creates a slice of a list and assigns it to a variable. Arguments are: Variable to assign List to read from (optional) Start index inclusive. (if Nothing, then list start if step > 0, list end if step < 0) (optional) End index exclusive. (if Nothing, then list end if step > 0, list start if step > 0) (optional) Step (if Nothing, then defaults to 1)

listIndexExists :: (List r smt, Comparison r) => SValue r -> SValue r -> SValue r Source #

at :: List r smt => SValue r -> SValue r -> SValue r Source #

class ValueSym r => StatementSym r smt | r -> smt where Source #

Methods

valStmt :: SValue r -> MS (r smt) Source #

emptyStmt :: MS (r smt) Source #

multi :: [MS (r smt)] -> MS (r smt) Source #

Instances

Instances details
StatementSym CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

StatementSym CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

StatementSym CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StatementSym CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StatementSym JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

StatementSym PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

StatementSym SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

StatementSym JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

StatementSym MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

StatementSym r smt => StatementSym (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

valStmt :: SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

emptyStmt :: MS (LoggingFor r smt) Source #

multi :: [MS (LoggingFor r smt)] -> MS (LoggingFor r smt) Source #

Pair p => StatementSym (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (VariableSym r, StatementSym r smt) => AssignStatement r smt where Source #

Methods

(&-=) :: SVariable r -> SValue r -> MS (r smt) infixl 1 Source #

(&+=) :: SVariable r -> SValue r -> MS (r smt) infixl 1 Source #

(&++) :: SVariable r -> MS (r smt) infixl 8 Source #

(&--) :: SVariable r -> MS (r smt) infixl 8 Source #

assign :: SVariable r -> SValue r -> MS (r smt) Source #

Instances

Instances details
AssignStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

AssignStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

AssignStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

AssignStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

AssignStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

AssignStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

AssignStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

AssignStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

AssignStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

(AssignStatement r smt, IOStatement r smt, VariableValue r, VariableElim r, Literal r) => AssignStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => AssignStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

(&=) :: AssignStatement r smt => SVariable r -> SValue r -> MS (r smt) infixr 1 Source #

class (VariableSym r, StatementSym r smt, ScopeSym r) => DeclStatement r smt where Source #

Methods

varDec :: SVariable r -> r ScopeData -> MS (r smt) Source #

Declare a variable without giving it a value. Not for use with arrays; use arrayDec instead.

varDecDef :: SVariable r -> r ScopeData -> SValue r -> MS (r smt) Source #

Declare a variable and give it a value. Not for use with arrays; use arrayDecDef instead.

listDec :: Integer -> SVariable r -> r ScopeData -> MS (r smt) Source #

listDecDef :: SVariable r -> r ScopeData -> [SValue r] -> MS (r smt) Source #

setDec :: SVariable r -> r ScopeData -> MS (r smt) Source #

setDecDef :: SVariable r -> r ScopeData -> SValue r -> MS (r smt) Source #

arrayDec :: Integer -> SValue r -> SVariable r -> r ScopeData -> MS (r smt) Source #

arrayDecDef :: SVariable r -> r ScopeData -> [SValue r] -> MS (r smt) Source #

constDecDef :: SVariable r -> r ScopeData -> SValue r -> MS (r smt) Source #

funcDecDef :: SVariable r -> r ScopeData -> [SVariable r] -> MS (r Body) -> MS (r smt) Source #

Instances

Instances details
DeclStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

DeclStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

DeclStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

DeclStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

DeclStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

DeclStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

DeclStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

DeclStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

DeclStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

(DeclStatement r smt, IOStatement r smt, VariableValue r, VariableElim r, Literal r) => DeclStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => DeclStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

varDec :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

varDecDef :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

listDec :: Integer -> SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

listDecDef :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> [SValue (p CppSrcCode CppHdrCode)] -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

setDec :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

setDecDef :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

arrayDec :: Integer -> SValue (p CppSrcCode CppHdrCode) -> SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

arrayDecDef :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> [SValue (p CppSrcCode CppHdrCode)] -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

constDecDef :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

funcDecDef :: SVariable (p CppSrcCode CppHdrCode) -> p CppSrcCode CppHdrCode ScopeData -> [SVariable (p CppSrcCode CppHdrCode)] -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

class (VariableSym r, StatementSym r smt) => IOStatement r smt where Source #

Methods

print :: SValue r -> MS (r smt) Source #

printLn :: SValue r -> MS (r smt) Source #

printStr :: String -> MS (r smt) Source #

printStrLn :: String -> MS (r smt) Source #

printFile :: SValue r -> SValue r -> MS (r smt) Source #

printFileLn :: SValue r -> SValue r -> MS (r smt) Source #

printFileStr :: SValue r -> String -> MS (r smt) Source #

printFileStrLn :: SValue r -> String -> MS (r smt) Source #

getInput :: SVariable r -> MS (r smt) Source #

discardInput :: MS (r smt) Source #

getFileInput :: SValue r -> SVariable r -> MS (r smt) Source #

discardFileInput :: SValue r -> MS (r smt) Source #

openFileR :: SVariable r -> SValue r -> MS (r smt) Source #

openFileW :: SVariable r -> SValue r -> MS (r smt) Source #

openFileA :: SVariable r -> SValue r -> MS (r smt) Source #

closeFile :: SValue r -> MS (r smt) Source #

getFileInputLine :: SValue r -> SVariable r -> MS (r smt) Source #

discardFileLine :: SValue r -> MS (r smt) Source #

getFileInputAll :: SValue r -> SVariable r -> MS (r smt) Source #

Instances

Instances details
IOStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

IOStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

Methods

print :: SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

printLn :: SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

printStr :: String -> MS (CSharpCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (CSharpCode (Doc, Terminator)) Source #

printFile :: SValue CSharpCode -> SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

printFileLn :: SValue CSharpCode -> SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

printFileStr :: SValue CSharpCode -> String -> MS (CSharpCode (Doc, Terminator)) Source #

printFileStrLn :: SValue CSharpCode -> String -> MS (CSharpCode (Doc, Terminator)) Source #

getInput :: SVariable CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

discardInput :: MS (CSharpCode (Doc, Terminator)) Source #

getFileInput :: SValue CSharpCode -> SVariable CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

discardFileInput :: SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

openFileR :: SVariable CSharpCode -> SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

openFileW :: SVariable CSharpCode -> SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

openFileA :: SVariable CSharpCode -> SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

closeFile :: SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

getFileInputLine :: SValue CSharpCode -> SVariable CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

discardFileLine :: SValue CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

getFileInputAll :: SValue CSharpCode -> SVariable CSharpCode -> MS (CSharpCode (Doc, Terminator)) Source #

IOStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

print :: SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

printLn :: SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

printStr :: String -> MS (CppHdrCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (CppHdrCode (Doc, Terminator)) Source #

printFile :: SValue CppHdrCode -> SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

printFileLn :: SValue CppHdrCode -> SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

printFileStr :: SValue CppHdrCode -> String -> MS (CppHdrCode (Doc, Terminator)) Source #

printFileStrLn :: SValue CppHdrCode -> String -> MS (CppHdrCode (Doc, Terminator)) Source #

getInput :: SVariable CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

discardInput :: MS (CppHdrCode (Doc, Terminator)) Source #

getFileInput :: SValue CppHdrCode -> SVariable CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

discardFileInput :: SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

openFileR :: SVariable CppHdrCode -> SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

openFileW :: SVariable CppHdrCode -> SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

openFileA :: SVariable CppHdrCode -> SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

closeFile :: SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

getFileInputLine :: SValue CppHdrCode -> SVariable CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

discardFileLine :: SValue CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

getFileInputAll :: SValue CppHdrCode -> SVariable CppHdrCode -> MS (CppHdrCode (Doc, Terminator)) Source #

IOStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

print :: SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

printLn :: SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

printStr :: String -> MS (CppSrcCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (CppSrcCode (Doc, Terminator)) Source #

printFile :: SValue CppSrcCode -> SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

printFileLn :: SValue CppSrcCode -> SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

printFileStr :: SValue CppSrcCode -> String -> MS (CppSrcCode (Doc, Terminator)) Source #

printFileStrLn :: SValue CppSrcCode -> String -> MS (CppSrcCode (Doc, Terminator)) Source #

getInput :: SVariable CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

discardInput :: MS (CppSrcCode (Doc, Terminator)) Source #

getFileInput :: SValue CppSrcCode -> SVariable CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

discardFileInput :: SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

openFileR :: SVariable CppSrcCode -> SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

openFileW :: SVariable CppSrcCode -> SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

openFileA :: SVariable CppSrcCode -> SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

closeFile :: SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

getFileInputLine :: SValue CppSrcCode -> SVariable CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

discardFileLine :: SValue CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

getFileInputAll :: SValue CppSrcCode -> SVariable CppSrcCode -> MS (CppSrcCode (Doc, Terminator)) Source #

IOStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

Methods

print :: SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

printLn :: SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

printStr :: String -> MS (JavaCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (JavaCode (Doc, Terminator)) Source #

printFile :: SValue JavaCode -> SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

printFileLn :: SValue JavaCode -> SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

printFileStr :: SValue JavaCode -> String -> MS (JavaCode (Doc, Terminator)) Source #

printFileStrLn :: SValue JavaCode -> String -> MS (JavaCode (Doc, Terminator)) Source #

getInput :: SVariable JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

discardInput :: MS (JavaCode (Doc, Terminator)) Source #

getFileInput :: SValue JavaCode -> SVariable JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

discardFileInput :: SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

openFileR :: SVariable JavaCode -> SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

openFileW :: SVariable JavaCode -> SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

openFileA :: SVariable JavaCode -> SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

closeFile :: SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

getFileInputLine :: SValue JavaCode -> SVariable JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

discardFileLine :: SValue JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

getFileInputAll :: SValue JavaCode -> SVariable JavaCode -> MS (JavaCode (Doc, Terminator)) Source #

IOStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

Methods

print :: SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

printLn :: SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

printStr :: String -> MS (PythonCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (PythonCode (Doc, Terminator)) Source #

printFile :: SValue PythonCode -> SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

printFileLn :: SValue PythonCode -> SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

printFileStr :: SValue PythonCode -> String -> MS (PythonCode (Doc, Terminator)) Source #

printFileStrLn :: SValue PythonCode -> String -> MS (PythonCode (Doc, Terminator)) Source #

getInput :: SVariable PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

discardInput :: MS (PythonCode (Doc, Terminator)) Source #

getFileInput :: SValue PythonCode -> SVariable PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

discardFileInput :: SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

openFileR :: SVariable PythonCode -> SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

openFileW :: SVariable PythonCode -> SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

openFileA :: SVariable PythonCode -> SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

closeFile :: SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

getFileInputLine :: SValue PythonCode -> SVariable PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

discardFileLine :: SValue PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

getFileInputAll :: SValue PythonCode -> SVariable PythonCode -> MS (PythonCode (Doc, Terminator)) Source #

IOStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Methods

print :: SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

printLn :: SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

printStr :: String -> MS (SwiftCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (SwiftCode (Doc, Terminator)) Source #

printFile :: SValue SwiftCode -> SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

printFileLn :: SValue SwiftCode -> SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

printFileStr :: SValue SwiftCode -> String -> MS (SwiftCode (Doc, Terminator)) Source #

printFileStrLn :: SValue SwiftCode -> String -> MS (SwiftCode (Doc, Terminator)) Source #

getInput :: SVariable SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

discardInput :: MS (SwiftCode (Doc, Terminator)) Source #

getFileInput :: SValue SwiftCode -> SVariable SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

discardFileInput :: SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

openFileR :: SVariable SwiftCode -> SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

openFileW :: SVariable SwiftCode -> SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

openFileA :: SVariable SwiftCode -> SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

closeFile :: SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

getFileInputLine :: SValue SwiftCode -> SVariable SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

discardFileLine :: SValue SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

getFileInputAll :: SValue SwiftCode -> SVariable SwiftCode -> MS (SwiftCode (Doc, Terminator)) Source #

IOStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

Methods

print :: SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

printLn :: SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

printStr :: String -> MS (JuliaCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (JuliaCode (Doc, Terminator)) Source #

printFile :: SValue JuliaCode -> SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

printFileLn :: SValue JuliaCode -> SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

printFileStr :: SValue JuliaCode -> String -> MS (JuliaCode (Doc, Terminator)) Source #

printFileStrLn :: SValue JuliaCode -> String -> MS (JuliaCode (Doc, Terminator)) Source #

getInput :: SVariable JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

discardInput :: MS (JuliaCode (Doc, Terminator)) Source #

getFileInput :: SValue JuliaCode -> SVariable JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

discardFileInput :: SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

openFileR :: SVariable JuliaCode -> SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

openFileW :: SVariable JuliaCode -> SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

openFileA :: SVariable JuliaCode -> SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

closeFile :: SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

getFileInputLine :: SValue JuliaCode -> SVariable JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

discardFileLine :: SValue JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

getFileInputAll :: SValue JuliaCode -> SVariable JuliaCode -> MS (JuliaCode (Doc, Terminator)) Source #

IOStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Methods

print :: SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

printLn :: SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

printStr :: String -> MS (MatlabCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (MatlabCode (Doc, Terminator)) Source #

printFile :: SValue MatlabCode -> SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

printFileLn :: SValue MatlabCode -> SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

printFileStr :: SValue MatlabCode -> String -> MS (MatlabCode (Doc, Terminator)) Source #

printFileStrLn :: SValue MatlabCode -> String -> MS (MatlabCode (Doc, Terminator)) Source #

getInput :: SVariable MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

discardInput :: MS (MatlabCode (Doc, Terminator)) Source #

getFileInput :: SValue MatlabCode -> SVariable MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

discardFileInput :: SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

openFileR :: SVariable MatlabCode -> SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

openFileW :: SVariable MatlabCode -> SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

openFileA :: SVariable MatlabCode -> SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

closeFile :: SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

getFileInputLine :: SValue MatlabCode -> SVariable MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

discardFileLine :: SValue MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

getFileInputAll :: SValue MatlabCode -> SVariable MatlabCode -> MS (MatlabCode (Doc, Terminator)) Source #

(IOStatement r smt, VariableValue r, VariableElim r, Literal r) => IOStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

print :: SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

printLn :: SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

printStr :: String -> MS (LoggingFor r smt) Source #

printStrLn :: String -> MS (LoggingFor r smt) Source #

printFile :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

printFileLn :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

printFileStr :: SValue (LoggingFor r) -> String -> MS (LoggingFor r smt) Source #

printFileStrLn :: SValue (LoggingFor r) -> String -> MS (LoggingFor r smt) Source #

getInput :: SVariable (LoggingFor r) -> MS (LoggingFor r smt) Source #

discardInput :: MS (LoggingFor r smt) Source #

getFileInput :: SValue (LoggingFor r) -> SVariable (LoggingFor r) -> MS (LoggingFor r smt) Source #

discardFileInput :: SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

openFileR :: SVariable (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

openFileW :: SVariable (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

openFileA :: SVariable (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

closeFile :: SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

getFileInputLine :: SValue (LoggingFor r) -> SVariable (LoggingFor r) -> MS (LoggingFor r smt) Source #

discardFileLine :: SValue (LoggingFor r) -> MS (LoggingFor r smt) Source #

getFileInputAll :: SValue (LoggingFor r) -> SVariable (LoggingFor r) -> MS (LoggingFor r smt) Source #

Pair p => IOStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

print :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

printLn :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

printStr :: String -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

printStrLn :: String -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

printFile :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

printFileLn :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

printFileStr :: SValue (p CppSrcCode CppHdrCode) -> String -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

printFileStrLn :: SValue (p CppSrcCode CppHdrCode) -> String -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

getInput :: SVariable (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

discardInput :: MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

getFileInput :: SValue (p CppSrcCode CppHdrCode) -> SVariable (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

discardFileInput :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

openFileR :: SVariable (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

openFileW :: SVariable (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

openFileA :: SVariable (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

closeFile :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

getFileInputLine :: SValue (p CppSrcCode CppHdrCode) -> SVariable (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

discardFileLine :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

getFileInputAll :: SValue (p CppSrcCode CppHdrCode) -> SVariable (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

class (VariableSym r, StatementSym r smt) => StringStatement r smt where Source #

Methods

stringSplit :: Char -> SVariable r -> SValue r -> MS (r smt) Source #

stringListVals :: [SVariable r] -> SValue r -> MS (r smt) Source #

stringListLists :: [SVariable r] -> SValue r -> MS (r smt) Source #

Instances

Instances details
StringStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

StringStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

StringStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StringStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StringStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

StringStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

StringStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

StringStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

StringStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

(StringStatement r smt, IOStatement r smt, VariableValue r, VariableElim r, Literal r) => StringStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => StringStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (VariableSym r, StatementSym r smt) => FuncAppStatement r smt where Source #

Instances

Instances details
FuncAppStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

FuncAppStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

FuncAppStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FuncAppStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FuncAppStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

FuncAppStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

FuncAppStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

FuncAppStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

FuncAppStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

FuncAppStatement r smt => FuncAppStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => FuncAppStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class StatementSym r smt => CommentStatement r smt where Source #

Methods

comment :: String -> MS (r smt) Source #

Instances

Instances details
CommentStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Methods

comment :: String -> MS (CodeInfoOO ()) Source #

CommentStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

CommentStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

CommentStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

CommentStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

CommentStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

CommentStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

CommentStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

CommentStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

CommentStatement r smt => CommentStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

comment :: String -> MS (LoggingFor r smt) Source #

Pair p => CommentStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (BodySym r smt, VariableSym r) => ControlStatement r smt where Source #

Methods

break :: MS (r smt) Source #

continue :: MS (r smt) Source #

returnStmt :: SValue r -> MS (r smt) Source #

throw :: Label -> MS (r smt) Source #

ifCond :: [(SValue r, MS (r Body))] -> MS (r Body) -> MS (r smt) Source #

String of if-else statements. Arguments: List of predicates and bodies (if this then that), Body for else branch

switch :: SValue r -> [(SValue r, MS (r Body))] -> MS (r Body) -> MS (r smt) Source #

ifExists :: SValue r -> MS (r Body) -> MS (r Body) -> MS (r smt) Source #

for :: MS (r smt) -> SValue r -> MS (r smt) -> MS (r Body) -> MS (r smt) Source #

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

forEach :: SVariable r -> SValue r -> MS (r Body) -> MS (r smt) Source #

while :: SValue r -> MS (r Body) -> MS (r smt) Source #

tryCatch :: MS (r Body) -> MS (r Body) -> MS (r smt) Source #

assert :: SValue r -> SValue r -> MS (r smt) Source #

Instances

Instances details
ControlStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ControlStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ControlStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ControlStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ControlStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ControlStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ControlStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ControlStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ControlStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ControlStatement r smt => ControlStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => ControlStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Methods

break :: MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

continue :: MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

returnStmt :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

throw :: Label -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

ifCond :: [(SValue (p CppSrcCode CppHdrCode), MS (p CppSrcCode CppHdrCode Body))] -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

switch :: SValue (p CppSrcCode CppHdrCode) -> [(SValue (p CppSrcCode CppHdrCode), MS (p CppSrcCode CppHdrCode Body))] -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

ifExists :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

for :: MS (p CppSrcCode CppHdrCode (Doc, Terminator)) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

forRange :: SVariable (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

forEach :: SVariable (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

while :: SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

tryCatch :: MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode Body) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

assert :: SValue (p CppSrcCode CppHdrCode) -> SValue (p CppSrcCode CppHdrCode) -> MS (p CppSrcCode CppHdrCode (Doc, Terminator)) Source #

ifNoElse :: ControlStatement r smt => [(SValue r, MS (r Body))] -> MS (r smt) Source #

switchAsIf :: (ControlStatement r smt, Comparison r) => SValue r -> [(SValue r, MS (r Body))] -> MS (r Body) -> MS (r smt) Source #

class VisibilitySym r vis | r -> vis where Source #

Methods

private :: r vis Source #

public :: r vis Source #

Instances

Instances details
VisibilitySym CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

VisibilitySym CSharpCode Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

VisibilitySym JavaCode Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

VisibilitySym PythonCode Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

VisibilitySym SwiftCode Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

VisibilitySym JuliaCode Doc Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

VisibilitySym MatlabCode Doc Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

VisibilitySym CppHdrCode (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VisibilitySym CppSrcCode (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VisibilitySym r vis => VisibilitySym (LoggingFor r) vis Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => VisibilitySym (p CppSrcCode CppHdrCode) (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => ParameterSym r where Source #

Instances

Instances details
ParameterSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ParameterSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ParameterSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ParameterSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ParameterSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ParameterSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ParameterSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ParameterSym JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ParameterSym MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ParameterSym r => ParameterSym (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => ParameterSym (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (BodySym r smt, ParameterSym r, VisibilitySym r vis) => MethodSym r vis smt md | r -> md where Source #

Methods

docMain :: MS (r Body) -> MS (r md) Source #

function :: Label -> r vis -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #

mainFunction :: MS (r Body) -> MS (r md) Source #

docFunc :: String -> [String] -> Maybe String -> MS (r md) -> MS (r md) Source #

inOutFunc :: Label -> r vis -> InOutFunc r md Source #

docInOutFunc :: Label -> r vis -> DocInOutFunc r md Source #

Instances

Instances details
MethodSym CodeInfoOO () () () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

MethodSym CSharpCode Doc (Doc, Terminator) MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

MethodSym JavaCode Doc (Doc, Terminator) MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

MethodSym PythonCode Doc (Doc, Terminator) MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

MethodSym SwiftCode Doc (Doc, Terminator) MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

MethodSym JuliaCode Doc (Doc, Terminator) MethodData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

MethodSym MatlabCode Doc (Doc, Terminator) MethodData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

MethodSym r vis smt md => MethodSym (LoggingFor r) vis smt md Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

class TypeSym r => BinderSym r where Source #

Methods

binder :: Label -> VS (r TypeData) -> VSBinder r Source #

Instances

Instances details
BinderSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

BinderSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

BinderSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BinderSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BinderSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

BinderSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

BinderSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

BinderSym JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

BinderSym MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

BinderSym r => BinderSym (LoggingFor r) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => BinderSym (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class BinderSym r => BinderElim r where Source #

Instances

Instances details
BinderElim CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

BinderElim CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BinderElim CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BinderElim JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

BinderElim PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

BinderElim SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

BinderElim JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

BinderElim MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

Pair p => BinderElim (p CppSrcCode CppHdrCode) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer