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

Drasil.GOOL.InterfaceGOOL

Synopsis

Documentation

type GSProgram a prg = GS (a prg) Source #

type Class = Doc Source #

type CSStateVar r svr = CS (r svr) Source #

class (SharedProg r vis smt md, OOStatement r smt, ProgramSym r vis smt md svr att prg, ObserverPattern r smt, StrategyPattern r smt) => OOProg r vis smt md svr att prg Source #

class FileSym r vis smt md svr att => ProgramSym r vis smt md svr att prg | r -> prg where Source #

Methods

prog :: Label -> Label -> [FS (r File)] -> GSProgram r prg Source #

Instances

Instances details
ProgramSym CodeInfoOO () () () () () GOOLState Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ProgramSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ProgramSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ProgramSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData ProgData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ProgramSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ProgramSym r vis smt md svr att prg => ProgramSym (LoggingFor r) vis smt md svr att prg Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

prog :: Label -> Label -> [FS (LoggingFor r File)] -> GSProgram (LoggingFor r) prg Source #

class ModuleSym r vis smt md svr att => FileSym r vis smt md svr att where Source #

Methods

fileDoc :: FS (r Module) -> FS (r File) Source #

docMod :: String -> String -> [String] -> String -> FS (r File) -> FS (r File) Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

FileSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

FileSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

FileSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

FileSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

FileSym r vis smt md svr att => FileSym (LoggingFor r) vis smt md svr att Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

class ClassSym r vis smt md svr att => ModuleSym r vis smt md svr att where Source #

Methods

buildModule :: Label -> [Label] -> [MS (r md)] -> [CS (r Class)] -> FS (r Module) Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

ModuleSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ModuleSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ModuleSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ModuleSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ModuleSym r vis smt md svr att => ModuleSym (LoggingFor r) vis smt md svr att Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

buildModule :: Label -> [Label] -> [MS (LoggingFor r md)] -> [CS (LoggingFor r Class)] -> FS (LoggingFor r Module) Source #

class (OOMethodSym r vis smt md att, StateVarSym r vis svr att) => ClassSym r vis smt md svr att where Source #

Methods

buildClass :: Maybe Label -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class) Source #

Main external method for creating a class. Inputs: parent class, variables, constructor(s), methods

extraClass :: Label -> Maybe Label -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class) Source #

Creates an extra class. Inputs: class name, the rest are the same as buildClass.

implementingClass :: Label -> [Label] -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class) Source #

Creates a class implementing interfaces. Inputs: class name, interface names, variables, constructor(s), methods

docClass :: String -> CS (r Class) -> CS (r Class) Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

ClassSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ClassSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ClassSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ClassSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ClassSym r vis smt md svr att => ClassSym (LoggingFor r) vis smt md svr att Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

buildClass :: Maybe Label -> [CSStateVar (LoggingFor r) svr] -> [MS (LoggingFor r md)] -> [MS (LoggingFor r md)] -> CS (LoggingFor r Class) Source #

extraClass :: Label -> Maybe Label -> [CSStateVar (LoggingFor r) svr] -> [MS (LoggingFor r md)] -> [MS (LoggingFor r md)] -> CS (LoggingFor r Class) Source #

implementingClass :: Label -> [Label] -> [CSStateVar (LoggingFor r) svr] -> [MS (LoggingFor r md)] -> [MS (LoggingFor r md)] -> CS (LoggingFor r Class) Source #

docClass :: String -> CS (LoggingFor r Class) -> CS (LoggingFor r Class) Source #

class TypeSym r => OOTypeSym r where Source #

Methods

obj :: ClassName -> VS (r TypeData) Source #

Instances

Instances details
OOTypeSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

OOTypeSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOTypeSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOTypeSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOTypeSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOTypeSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOTypeSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (VariableSym r, OOTypeSym r) => OOVariableSym r where Source #

Methods

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

A class-level variable, separate from its class (i.e. v, not v)

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

A class-level constant, separate from its class (i.e. v, not v)

classVarAccess :: VS (r TypeData) -> SVariable r -> SVariable r Source #

Given a class C and a class-level variable v, creates v

extClassVarAccess :: VS (r TypeData) -> SVariable r -> SVariable r Source #

Given a class C from an external module and a class-level variable v, performs any necessary imports and creates v

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

Given an instance i and an instance-level variable v, creates `i.v`

Instances

Instances details
OOVariableSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

OOVariableSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOVariableSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOVariableSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOVariableSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOVariableSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOVariableSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

($->) :: OOVariableSym r => SValue r -> SVariable r -> SVariable r infixl 9 Source #

instanceVarSelf :: (SelfSym r, VariableValue r) => SVariable r -> SVariable r Source #

Given a variable v, creates `self.v`

class (ValueExpression r, OOVariableSym r, OOValueSym r) => OOValueExpression r where Source #

Instances

Instances details
OOValueExpression CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

OOValueExpression CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOValueExpression CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOValueExpression CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOValueExpression JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOValueExpression PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOValueExpression SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (DeclStatement r smt, OOVariableSym r) => OODeclStatement r smt where Source #

Methods

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

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

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

Instances

Instances details
OODeclStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

OODeclStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OODeclStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OODeclStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OODeclStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OODeclStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OODeclStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

(DeclStatement (LoggingFor r) smt, OODeclStatement r smt) => OODeclStatement (LoggingFor r) smt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class (FuncAppStatement r smt, OOVariableSym r) => OOFuncAppStatement r smt where Source #

Instances

Instances details
OOFuncAppStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

OOFuncAppStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOFuncAppStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOFuncAppStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOFuncAppStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOFuncAppStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOFuncAppStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

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

Methods

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

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

Instances

Instances details
GetSet CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

GetSet CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

GetSet CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

GetSet CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

GetSet JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

GetSet PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

GetSet SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => InternalValueExp r where Source #

Methods

objMethodCallMixedArgs' :: Label -> VS (r TypeData) -> SValue r -> [SValue r] -> NamedArgs r -> SValue r Source #

Generic function for calling a method. Takes the function name, the return type, the object, a list of positional arguments, and a list of named arguments.

classMethodCallMixedArgs' :: Label -> VS (r TypeData) -> VS (r TypeData) -> [SValue r] -> NamedArgs r -> SValue r Source #

Generic function for calling a class method. Takes the function name, the return type, the class type, a list of positional arguments, and a list of named arguments.

Instances

Instances details
InternalValueExp CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

InternalValueExp CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

InternalValueExp CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

InternalValueExp CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

InternalValueExp JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

InternalValueExp PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

InternalValueExp SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

objMethodCall :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> [SValue r] -> SValue r Source #

Calling a method. t is the return type of the method, o is the object, f is the method name, and ps is a list of positional arguments.

objMethodCallNamedArgs :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> NamedArgs r -> SValue r Source #

Calling a method with named arguments.

objMethodCallMixedArgs :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> [SValue r] -> NamedArgs r -> SValue r Source #

Calling a method with a mix of positional and named arguments.

objMethodCallNoParams :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> SValue r Source #

Calling a method with no parameters.

classMethodCall :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> [SValue r] -> SValue r Source #

Calling a class method. t is the return type of the method, c is the class, f is the method name, and ps is a list of positional arguments.

classMethodCallNamedArgs :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> NamedArgs r -> SValue r Source #

Calling a class method with named arguments.

classMethodCallMixedArgs :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> [SValue r] -> NamedArgs r -> SValue r Source #

Calling a class method with a mix of positional and named arguments.

classMethodCallNoParams :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> SValue r Source #

Calling a class method with no parameters.

class (MethodSym r vis smt md, AttachmentSym r att) => OOMethodSym r vis smt md att where Source #

Methods

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

getMethod :: SVariable r -> MS (r md) Source #

setMethod :: SVariable r -> MS (r md) Source #

constructor :: [MS (r ParamData)] -> Initializers r -> MS (r Body) -> MS (r md) Source #

inOutMethod :: Label -> r vis -> r att -> InOutFunc r md Source #

docInOutMethod :: Label -> r vis -> r att -> DocInOutFunc r md Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

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

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

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

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOMethodSym PythonCode Doc (Doc, Terminator) MethodData AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

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

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

privMethod :: OOMethodSym r vis smt md att => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #

pubMethod :: OOMethodSym r vis smt md att => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #

initializer :: OOMethodSym r vis smt md att => [MS (r ParamData)] -> Initializers r -> MS (r md) Source #

nonInitConstructor :: OOMethodSym r vis smt md att => [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #

class (VisibilitySym r vis, AttachmentSym r att, VariableSym r) => StateVarSym r vis svr att | r -> svr where Source #

Methods

stateVar :: r vis -> r att -> SVariable r -> CSStateVar r svr Source #

stateVarDef :: r vis -> r att -> SVariable r -> SValue r -> CSStateVar r svr Source #

constVar :: r vis -> SVariable r -> SValue r -> CSStateVar r svr Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

StateVarSym CSharpCode Doc StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

StateVarSym JavaCode Doc Doc Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

StateVarSym PythonCode Doc Doc AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

StateVarSym SwiftCode Doc Doc Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

StateVarSym CppHdrCode (Doc, VisibilityTag) StateVarData AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StateVarSym CppSrcCode (Doc, VisibilityTag) StateVarData AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StateVarSym r vis svr att => StateVarSym (LoggingFor r) vis svr att Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => StateVarSym (p CppSrcCode CppHdrCode) (Doc, VisibilityTag) StateVarData AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

privDVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr Source #

pubDVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr Source #

pubSVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr Source #

class AttachmentSym r att | r -> att where Source #

Used to differentiate whether a member is attached to the class or the instance

Methods

classLevel :: r att Source #

instanceLevel :: r att Source #

Instances

Instances details
AttachmentSym CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

AttachmentSym CSharpCode Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

AttachmentSym CppHdrCode AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

AttachmentSym CppSrcCode AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

AttachmentSym JavaCode Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

AttachmentSym PythonCode AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

AttachmentSym SwiftCode Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

AttachmentSym r att => AttachmentSym (LoggingFor r) att Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class FunctionSym r => OOFunctionSym r where Source #

Methods

func :: Label -> VS (r TypeData) -> [SValue r] -> VS (r FuncData) Source #

objAccess :: SValue r -> VS (r FuncData) -> SValue r Source #

Instances

Instances details
OOFunctionSym CodeInfoOO Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

OOFunctionSym CSharpCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOFunctionSym CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOFunctionSym CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OOFunctionSym JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOFunctionSym PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOFunctionSym SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

($.) :: OOFunctionSym r => SValue r -> VS (r FuncData) -> SValue r infixl 9 Source #

class (StatementSym r smt, OOFunctionSym r) => ObserverPattern r smt where Source #

Methods

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

Instances

Instances details
ObserverPattern CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ObserverPattern CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ObserverPattern CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ObserverPattern CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ObserverPattern JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ObserverPattern PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ObserverPattern SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

initObserverList :: DeclStatement r smt => VS (r TypeData) -> [SValue r] -> r ScopeData -> MS (r smt) Source #

addObserver :: (OOVariableValue r, List r smt) => SValue r -> MS (r smt) Source #

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

Methods

runStrategy :: Label -> [(Label, MS (r Body))] -> Maybe (SValue r) -> Maybe (SVariable r) -> MS (r Block) Source #

Instances

Instances details
StrategyPattern CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

StrategyPattern CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

StrategyPattern CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StrategyPattern CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StrategyPattern JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

StrategyPattern PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

StrategyPattern SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer