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

Drasil.GOOL

Description

re-export smart constructors for external code writing

Synopsis

Documentation

type GSProgram (a :: k -> Type) (prg :: k) = GS (a prg) Source #

type Body = Doc Source #

type CS = State ClassState Source #

type FS = State FileState Source #

type MS = State MethodState Source #

type VS = State ValueState Source #

type SVariable (a :: Type -> Type) = VS (a Variable) Source #

type SValue (a :: Type -> Type) = VS (a Value) Source #

type CSStateVar (r :: k -> Type) (stvr :: k) = CS (r stvr) Source #

type Class = Doc Source #

type NamedArgs (r :: Type -> Type) = [(SVariable r, SValue r)] Source #

type Initializers (r :: Type -> Type) = [(SVariable r, SValue r)] Source #

class (UnRepr r TypeData, Argument r, BodySym r bod block, BlockSym r block stmt, CommandLineArgs r, Literal r, MathConstant r, OOVariableValue r, BooleanExpression r, Comparison r, NumericExpression r, InternalValueExp r, OOValueExpression r, Array r, List r, ListStatement r stmt, Reference r, Set r, OOFunctionSym r, ParameterSym r, VariableValue r, ScopeSym r, BinderSym r, InternalList r block, MethodSym r vis mthd bod, OOMethodSym r vis mthd attch bod, ClassSym r vis mthd stvr attch, TypeElim r, VariableElim r, EmptyStatement r stmt, MultiStatement r stmt, ValueStatement r stmt, CommentStatement r stmt, OODeclStatement r stmt bod, AssignStatement r stmt, OOFuncAppStatement r stmt, ControlStatement r stmt bod, StringStatement r stmt, PrintConsole r stmt, ReadConsole r stmt, FileHandling r stmt, PrintFile r stmt, ReadFile r stmt, ModuleSym r mod mthd, FileSym r file mod, ProgramSym r prg file) => OOProg (r :: Type -> Type) vis stmt mthd stvr attch prg file mod bod block Source #

Wrapper typeclass that bundles everything essential for generating an object-oriented program.

class ProgramSym (r :: k -> Type) (prg :: k) (file :: k) | r -> prg file where Source #

Class for representing a program. Usually ProgData is used for the representation.

Methods

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

Given program name, program purpose, and list of files, Generates a representation of a program.

Instances

Instances details
ProgramSym CodeInfoOO GOOLState () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ProgramSym CSharpCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ProgramSym CppSrcCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ProgramSym JavaCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ProgramSym PythonCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ProgramSym SwiftCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ProgramSym r prg file => ProgramSym (LoggingFor r :: Type -> Type) (prg :: Type) (file :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

Pair p => ProgramSym (p CppSrcCode CppHdrCode :: Type -> Type) ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class FileSym (r :: k -> Type) (file :: k) (mod :: k) | r -> file mod where Source #

Class for representing a file.

Methods

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

Given a module, generates a representation of a file. (Implicit assumption: exactly one module per file)

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

Given module description, watermark, list of author names, date as a String, and file to comment, creates a documented module (i.e. module with a header comment)

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

Methods

fileDoc :: FS (CodeInfoOO ()) -> FS (CodeInfoOO ()) Source #

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

FileSym CSharpCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

FileSym CppHdrCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileSym CppSrcCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileSym JavaCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

FileSym PythonCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

FileSym SwiftCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

FileSym r file mod => FileSym (LoggingFor r :: Type -> Type) (file :: Type) (mod :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

fileDoc :: FS (LoggingFor r mod) -> FS (LoggingFor r file) Source #

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

Pair p => FileSym (p CppSrcCode CppHdrCode :: Type -> Type) FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class AttachmentSym (r :: k -> Type) (attch :: k) | r -> attch where Source #

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

Methods

classLevel :: r attch Source #

instanceLevel :: r attch 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 attch => AttachmentSym (LoggingFor r :: Type -> Type) (attch :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class BodySym (r :: k -> Type) (bod :: k) (block :: k) | r -> bod block where Source #

Class for representing a Body, which is basically a lexical scope of code. Examples include a function body, the branch(es) of an `if`-statement, etc.

Methods

body :: [MS (r block)] -> MS (r bod) Source #

Given a list of blocks, create a Body of them.

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

Given a comment and a body, add the comment as a header for the body.

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

Methods

body :: [MS (CodeInfoOO ())] -> MS (CodeInfoOO ()) Source #

addComments :: Label -> MS (CodeInfoOO ()) -> MS (CodeInfoOO ()) Source #

BodySym CSharpCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

BodySym CppHdrCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BodySym CppSrcCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BodySym JavaCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

BodySym PythonCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

BodySym SwiftCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

BodySym JuliaCode Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

BodySym MatlabCode Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

BodySym r bod block => BodySym (LoggingFor r :: Type -> Type) (bod :: Type) (block :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

body :: [MS (LoggingFor r block)] -> MS (LoggingFor r bod) Source #

addComments :: Label -> MS (LoggingFor r bod) -> MS (LoggingFor r bod) Source #

Pair p => BodySym (p CppSrcCode CppHdrCode :: Type -> Type) Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

bodyStatements :: forall {k} r (block :: k) (stmt :: k) (bod :: k). (BlockSym r block stmt, BodySym r bod block) => [MS (r stmt)] -> MS (r bod) Source #

oneLiner :: forall {k} r (block :: k) (stmt :: k) (bod :: k). (BlockSym r block stmt, BodySym r bod block) => MS (r stmt) -> MS (r bod) Source #

class BlockSym (r :: k -> Type) (block :: k) (stmt :: k) | r -> block stmt where Source #

Class for representing a block of code. A block is a series of statements grouped together, not for use by the compiler/interpreter but to improve readability of the generated code. See the bottom of page 2 of Brook's GOOL paper from 2020 for more details.

Methods

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

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

Methods

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

BlockSym CSharpCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

BlockSym CppHdrCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BlockSym CppSrcCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

BlockSym JavaCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

BlockSym PythonCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

BlockSym SwiftCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

BlockSym JuliaCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

BlockSym MatlabCode Block (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

BlockSym r block stmt => BlockSym (LoggingFor r :: Type -> Type) (block :: Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class TypeSym (r :: Type -> Type) where Source #

Class for representing a type.

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 => OOTypeSym (r :: Type -> Type) 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 TypeSym r => BinderSym (r :: Type -> Type) where Source #

A class for representing a binder, i.e. the binding of a variable name to a type, scope, etc. As of July 2026, integration of this typeclass is still WIP, blocked by issues with our variable map.

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 EmptyStatement (r :: k -> Type) (stmt :: k) | r -> stmt where Source #

Methods

emptyStmt :: MS (r stmt) Source #

Empty statement

Instances

Instances details
EmptyStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Methods

emptyStmt :: MS (CodeInfoOO ()) Source #

EmptyStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

EmptyStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

EmptyStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

EmptyStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

EmptyStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

EmptyStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

EmptyStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

EmptyStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

EmptyStatement r stmt => EmptyStatement (LoggingFor r :: Type -> Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

emptyStmt :: MS (LoggingFor r stmt) Source #

Pair p => EmptyStatement (p CppSrcCode CppHdrCode :: Type -> Type) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class MultiStatement (r :: k -> Type) (stmt :: k) | r -> stmt where Source #

Methods

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

Consolidates a list of statements into a single statement

Instances

Instances details
MultiStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

Methods

multi :: [MS (CodeInfoOO ())] -> MS (CodeInfoOO ()) Source #

MultiStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

MultiStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

MultiStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

MultiStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

MultiStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

MultiStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

MultiStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

MultiStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

MultiStatement r stmt => MultiStatement (LoggingFor r :: Type -> Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

Pair p => MultiStatement (p CppSrcCode CppHdrCode :: Type -> Type) (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueStatement (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

Converts a value to statement

Instances

Instances details
ValueStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ValueStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ValueStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ValueStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ValueStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ValueStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ValueStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ValueStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ValueStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ValueStatement r stmt => ValueStatement (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => AssignStatement (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

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

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

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

assign :: SVariable r -> SValue r -> MS (r stmt) 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

(MultiStatement r stmt, AssignStatement r stmt, FileHandling r stmt, PrintFile r stmt, VariableValue r, VariableElim r, Literal r) => AssignStatement (LoggingFor r) stmt 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 stmt => SVariable r -> SValue r -> MS (r stmt) infixr 1 Source #

class (VariableSym r, ScopeSym r) => DeclStatement (r :: Type -> Type) stmt bod | r -> stmt bod where Source #

Methods

varDec :: SVariable r -> r ScopeData -> MS (r stmt) 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 stmt) 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 stmt) Source #

Given the size of the list, the variable to store the list in, and the scope of the variable, declare a list of the given size.

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

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

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

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

Given the size of the aray, the default value to fill the array with, the variable to store the array in, and the scope of the variable, declare an array of the given size.

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

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

funcDecDef :: SVariable r -> r ScopeData -> [SVariable r] -> MS (r bod) -> MS (r stmt) Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

DeclStatement CSharpCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

DeclStatement CppHdrCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

DeclStatement CppSrcCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

DeclStatement JavaCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

DeclStatement PythonCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

DeclStatement SwiftCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

DeclStatement JuliaCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

DeclStatement MatlabCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

(MultiStatement r stmt, DeclStatement r stmt bod, FileHandling r stmt, PrintFile r stmt, VariableValue r, VariableElim r, Literal r) => DeclStatement (LoggingFor r) stmt bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Pair p => DeclStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Body 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 (DeclStatement r stmt bod, OOVariableSym r) => OODeclStatement (r :: Type -> Type) stmt bod where Source #

Methods

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

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

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

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

OODeclStatement CSharpCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OODeclStatement CppHdrCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OODeclStatement CppSrcCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

OODeclStatement JavaCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OODeclStatement PythonCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OODeclStatement SwiftCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

objDecNewNoParams :: OODeclStatement r stmt bod => SVariable r -> r ScopeData -> MS (r stmt) Source #

extObjDecNewNoParams :: OODeclStatement r stmt bod => Library -> SVariable r -> r ScopeData -> MS (r stmt) Source #

class VariableSym r => PrintConsole (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

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

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

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

Instances

Instances details
PrintConsole CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

PrintConsole CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

PrintConsole CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

PrintConsole CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

PrintConsole JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

PrintConsole PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

PrintConsole SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

PrintConsole JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

PrintConsole MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

PrintConsole r stmt => PrintConsole (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => ReadConsole (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

discardInput :: MS (r stmt) Source #

Instances

Instances details
ReadConsole CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ReadConsole CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ReadConsole CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ReadConsole CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ReadConsole JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ReadConsole PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ReadConsole SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ReadConsole JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ReadConsole MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

(MultiStatement r stmt, FileHandling r stmt, PrintFile r stmt, ReadConsole r stmt, VariableValue r, VariableElim r, Literal r) => ReadConsole (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => FileHandling (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

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

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

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

Instances

Instances details
FileHandling CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

FileHandling CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

FileHandling CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileHandling CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileHandling JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

FileHandling PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

FileHandling SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

FileHandling JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

FileHandling MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

FileHandling r stmt => FileHandling (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => PrintFile (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

Given the file handle and value to print, print the value to the file.

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

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

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

Instances

Instances details
PrintFile CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

PrintFile CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

PrintFile CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

PrintFile CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

PrintFile JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

PrintFile PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

PrintFile SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

PrintFile JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

PrintFile MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

PrintFile r stmt => PrintFile (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => ReadFile (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

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

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

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

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

Instances

Instances details
ReadFile CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ReadFile CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ReadFile CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ReadFile CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ReadFile JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ReadFile PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ReadFile SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ReadFile JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ReadFile MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

(MultiStatement r stmt, FileHandling r stmt, PrintFile r stmt, ReadFile r stmt, VariableValue r, VariableElim r, Literal r) => ReadFile (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => StringStatement (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

Given a char to split on, variable to store result in, and string to split, generates a statement splitting the string into a list of strings delimited by the char.

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

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

Given a list of variables and a value containing a list of strings, assign the ith element of the list of strings into the ith variable

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

(MultiStatement r stmt, StringStatement r stmt, FileHandling r stmt, PrintFile r stmt, VariableValue r, VariableElim r, Literal r) => StringStatement (LoggingFor r) stmt 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 => FuncAppStatement (r :: Type -> Type) stmt | r -> stmt 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 stmt => FuncAppStatement (LoggingFor r) stmt 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 (FuncAppStatement r stmt, OOVariableSym r) => OOFuncAppStatement (r :: Type -> Type) stmt where Source #

Methods

selfInOutCall :: InOutCall r stmt 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 stmt => OOFuncAppStatement (LoggingFor r) stmt 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 CommentStatement (r :: k -> Type) (stmt :: k) | r -> stmt where Source #

Methods

comment :: String -> MS (r stmt) 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 stmt => CommentStatement (LoggingFor r :: Type -> Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

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

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

class VariableSym r => ControlStatement (r :: Type -> Type) stmt bod | r -> stmt bod where Source #

Methods

break :: MS (r stmt) Source #

continue :: MS (r stmt) Source #

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

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

ifCond :: [(SValue r, MS (r bod))] -> MS (r bod) -> MS (r stmt) 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 bod))] -> MS (r bod) -> MS (r stmt) Source #

ifExists :: SValue r -> MS (r bod) -> MS (r bod) -> MS (r stmt) Source #

for :: MS (r stmt) -> SValue r -> MS (r stmt) -> MS (r bod) -> MS (r stmt) Source #

forRange :: SVariable r -> SValue r -> SValue r -> SValue r -> MS (r bod) -> MS (r stmt) Source #

forEach :: SVariable r -> SValue r -> MS (r bod) -> MS (r stmt) Source #

while :: SValue r -> MS (r bod) -> MS (r stmt) Source #

tryCatch :: MS (r bod) -> MS (r bod) -> MS (r stmt) Source #

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

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

ControlStatement CSharpCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ControlStatement CppHdrCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ControlStatement CppSrcCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ControlStatement JavaCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ControlStatement PythonCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ControlStatement SwiftCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ControlStatement JuliaCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ControlStatement MatlabCode (Doc, Terminator) Body Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ControlStatement r stmt bod => ControlStatement (LoggingFor r) stmt bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

break :: MS (LoggingFor r stmt) Source #

continue :: MS (LoggingFor r stmt) Source #

returnStmt :: SValue (LoggingFor r) -> MS (LoggingFor r stmt) Source #

throw :: Label -> MS (LoggingFor r stmt) Source #

ifCond :: [(SValue (LoggingFor r), MS (LoggingFor r bod))] -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

switch :: SValue (LoggingFor r) -> [(SValue (LoggingFor r), MS (LoggingFor r bod))] -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

ifExists :: SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

for :: MS (LoggingFor r stmt) -> SValue (LoggingFor r) -> MS (LoggingFor r stmt) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

forRange :: SVariable (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

forEach :: SVariable (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

while :: SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

tryCatch :: MS (LoggingFor r bod) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

assert :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r stmt) Source #

Pair p => ControlStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Body 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 :: (BodySym r bod block, ControlStatement r stmt bod) => [(SValue r, MS (r bod))] -> MS (r stmt) Source #

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

class TypeSym r => VariableSym (r :: Type -> Type) where Source #

Class for representing variables.

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 :: Type -> Type) where Source #

Class for representing the lexical scope of a variable. Currently only differentiates global and local, allowing individual renderers to define which of them the main function is.

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, OOTypeSym r) => OOVariableSym (r :: Type -> Type) 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

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

Given a variable v, creates `self.v`

class VariableSym r => VariableElim (r :: Type -> Type) 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

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

class TypeSym r => ValueSym (r :: Type -> Type) where Source #

Class for representing a value.

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 :: Type -> Type) 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 :: Type -> Type) 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 :: Type -> Type) 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 :: Type -> Type) 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 :: Type -> Type) 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 :: Type -> Type) 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 :: Type -> Type) 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 :: Type -> Type) 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 :: Type -> Type) where Source #

A class for representing values that can include expressions

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 => InternalValueExp (r :: Type -> Type) Source #

A class for representing method calls, both instance- and class-level

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

class (ValueExpression r, OOVariableSym r, OOValueSym r) => OOValueExpression (r :: Type -> Type) 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

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 FunctionSym r => OOFunctionSym (r :: Type -> Type) 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 (ValueSym r, VariableSym r) => GetSet (r :: Type -> Type) 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 (TypeSym r, ValueSym r) => Reference (r :: Type -> Type) where Source #

A class for representing references. By "reference" we basically mean "C++ pointer" or "OCaml reference".

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 :: Type -> Type) 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 => List (r :: Type -> Type) where Source #

Methods

listSize :: SValue r -> SValue r Source #

Finds the size of a list. Arguments are: List

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

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

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 Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

List CppHdrCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

List CppSrcCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

List JavaCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

List PythonCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

List SwiftCode Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

List JuliaCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

List MatlabCode Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ListStatement (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

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

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

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

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

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

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

Instances

Instances details
ListStatement CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

ListStatement CSharpCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ListStatement CppHdrCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ListStatement CppSrcCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ListStatement JavaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ListStatement PythonCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ListStatement SwiftCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ListStatement JuliaCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ListStatement MatlabCode (Doc, Terminator) Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ListStatement r stmt => ListStatement (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class ValueSym r => InternalList (r :: Type -> Type) block | r -> block Source #

Minimal complete definition

listSlice'

Instances

Instances details
InternalList CodeInfoOO () Source # 
Instance details

Defined in Drasil.GOOL.CodeInfoOO

InternalList CSharpCode Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

InternalList CppHdrCode Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

InternalList CppSrcCode Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

InternalList JavaCode Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

InternalList PythonCode Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

InternalList SwiftCode Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

InternalList JuliaCode Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

InternalList MatlabCode Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

listSlice :: InternalList r block => 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)

class ValueSym r => Set (r :: Type -> Type) 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

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

class OOFunctionSym r => ObserverPattern (r :: Type -> Type) stmt | r -> stmt where Source #

Methods

notifyObservers :: VS (r FuncData) -> VS (r TypeData) -> MS (r stmt) 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 stmt => ObserverPattern (LoggingFor r) stmt 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

class VariableSym r => StrategyPattern (r :: Type -> Type) bod block | r -> bod block where Source #

Methods

runStrategy :: Label -> [(Label, MS (r bod))] -> 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 Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

StrategyPattern CppHdrCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StrategyPattern CppSrcCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

StrategyPattern JavaCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

StrategyPattern PythonCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

StrategyPattern SwiftCode Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

StrategyPattern r bod block => StrategyPattern (LoggingFor r) bod block Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

runStrategy :: Label -> [(Label, MS (LoggingFor r bod))] -> Maybe (SValue (LoggingFor r)) -> Maybe (SVariable (LoggingFor r)) -> MS (LoggingFor r block) Source #

Pair p => StrategyPattern (p CppSrcCode CppHdrCode) Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VisibilitySym (r :: k -> Type) (vis :: k) | r -> vis where Source #

A class for representing Visibility, of a class member, i.e. whether it is public or private.

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 :: Type -> Type) (vis :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

class VariableSym r => ParameterSym (r :: Type -> Type) where Source #

A class for representing function/method parameters.

Methods

param :: SVariable r -> MS (r ParamData) Source #

pointerParam :: SVariable r -> MS (r ParamData) Source #

A parameter that is an "alias" type, e.g. a C++ reference. This is a minor hack, to get around us not having/wanting "alias types" in GOOL.

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 (ParameterSym r, VisibilitySym r vis) => MethodSym (r :: Type -> Type) vis mthd bod | r -> mthd bod where Source #

A class for representing functions/methods. Usually MethodData is used for the representation.

Methods

docMain :: MS (r bod) -> MS (r mthd) Source #

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

mainFunction :: MS (r bod) -> MS (r mthd) Source #

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

inOutFunc :: Label -> r vis -> InOutFunc r mthd bod Source #

docInOutFunc :: Label -> r vis -> DocInOutFunc r mthd bod Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

MethodSym CSharpCode Doc MethodData Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

MethodSym JavaCode Doc MethodData Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

MethodSym PythonCode Doc MethodData Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

MethodSym SwiftCode Doc MethodData Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

MethodSym JuliaCode Doc MethodData Body Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

MethodSym MatlabCode Doc MethodData Body Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

MethodSym r vis mthd bod => MethodSym (LoggingFor r) vis mthd bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

docMain :: MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

function :: Label -> LoggingFor r vis -> VS (LoggingFor r TypeData) -> [MS (LoggingFor r ParamData)] -> MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

mainFunction :: MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

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

inOutFunc :: Label -> LoggingFor r vis -> InOutFunc (LoggingFor r) mthd bod Source #

docInOutFunc :: Label -> LoggingFor r vis -> DocInOutFunc (LoggingFor r) mthd bod Source #

class AttachmentSym r attch => OOMethodSym (r :: Type -> Type) vis mthd attch bod | r -> vis mthd bod where Source #

Methods

method :: Label -> r vis -> r attch -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r bod) -> MS (r mthd) Source #

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

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

constructor :: [MS (r ParamData)] -> Initializers r -> MS (r bod) -> MS (r mthd) Source #

inOutMethod :: Label -> r vis -> r attch -> InOutFunc r mthd bod Source #

docInOutMethod :: Label -> r vis -> r attch -> DocInOutFunc r mthd bod Source #

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

OOMethodSym CSharpCode Doc MethodData Doc Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOMethodSym JavaCode Doc MethodData Doc Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOMethodSym PythonCode Doc MethodData AttachmentData Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOMethodSym SwiftCode Doc MethodData Doc Body Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

OOMethodSym r vis mthd attch bod => OOMethodSym (LoggingFor r) vis mthd attch bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

method :: Label -> LoggingFor r vis -> LoggingFor r attch -> VS (LoggingFor r TypeData) -> [MS (LoggingFor r ParamData)] -> MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

getMethod :: SVariable (LoggingFor r) -> MS (LoggingFor r mthd) Source #

setMethod :: SVariable (LoggingFor r) -> MS (LoggingFor r mthd) Source #

constructor :: [MS (LoggingFor r ParamData)] -> Initializers (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

inOutMethod :: Label -> LoggingFor r vis -> LoggingFor r attch -> InOutFunc (LoggingFor r) mthd bod Source #

docInOutMethod :: Label -> LoggingFor r vis -> LoggingFor r attch -> DocInOutFunc (LoggingFor r) mthd bod Source #

privMethod :: (OOMethodSym r vis mthd attch bod, VisibilitySym r vis) => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r bod) -> MS (r mthd) Source #

pubMethod :: (OOMethodSym r vis mthd attch bod, VisibilitySym r vis) => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r bod) -> MS (r mthd) Source #

initializer :: (OOMethodSym r vis mthd attch bod, BodySym r bod block) => [MS (r ParamData)] -> Initializers r -> MS (r mthd) Source #

nonInitConstructor :: OOMethodSym r vis mthd attch bod => [MS (r ParamData)] -> MS (r bod) -> MS (r mthd) Source #

class (VisibilitySym r vis, AttachmentSym r attch, VariableSym r) => StateVarSym (r :: Type -> Type) vis stvr attch | r -> stvr where Source #

Class for representing class variables, both instance- and class-level. Used when creating a class, to hold extra information about Attachment and Visibility. Usually Doc is used for the representation.

Methods

stateVar :: r vis -> r attch -> SVariable r -> CSStateVar r stvr Source #

Given a visibility, attachment, and variable, represent the declaration of a state variable with no initial value.

stateVarDef :: r vis -> r attch -> SVariable r -> SValue r -> CSStateVar r stvr Source #

Given a visibility, attachment, variable, and initial value, represent the declaration of a state variable with the given initial value.

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

Given a visibility, variable, and value, represent the declaration of a state constant with the given value.

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 stvr attch => StateVarSym (LoggingFor r) vis stvr attch 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 stvr attch => SVariable r -> CSStateVar r stvr Source #

pubDVar :: StateVarSym r vis stvr attch => SVariable r -> CSStateVar r stvr Source #

pubSVar :: StateVarSym r vis stvr attch => SVariable r -> CSStateVar r stvr Source #

class StateVarSym r vis stvr attch => ClassSym (r :: Type -> Type) vis mthd stvr attch | r -> mthd where Source #

Class for representing an OO class.

Methods

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

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

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

Creates an extra class, i.e. with a different name than the module name. Inputs: class name, the rest are the same as buildClass.

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

Creates a class implementing a list of 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 MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ClassSym JavaCode Doc MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ClassSym PythonCode Doc MethodData StateVar AttachmentData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ClassSym SwiftCode Doc MethodData StateVar Doc Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ClassSym r vis mthd stvr attch => ClassSym (LoggingFor r) vis mthd stvr attch Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

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

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

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

class ModuleSym (r :: Type -> Type) mod mthd | r -> mod mthd where Source #

Class for representing a module.

Methods

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

Given module name, list of import names, list of module functions, and list of module classes, generates a representation of a module.

Instances

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

Defined in Drasil.GOOL.CodeInfoOO

Methods

buildModule :: Label -> [Label] -> [MS (CodeInfoOO ())] -> [CS (CodeInfoOO Class)] -> FS (CodeInfoOO ()) Source #

ModuleSym CSharpCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ModuleSym JavaCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ModuleSym PythonCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ModuleSym SwiftCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ModuleSym r mod mthd => ModuleSym (LoggingFor r) mod mthd Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

data ProgData Source #

Instances

Instances details
ProgramSym CSharpCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ProgramSym CppSrcCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ProgramSym JavaCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ProgramSym PythonCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ProgramSym SwiftCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ProgramSym JuliaCode ProgData FileData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ProgramSym MatlabCode ProgData FileData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ProcProg JuliaCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ProcProg MatlabCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

OOProg CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOProg JavaCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOProg PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOProg SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Pair p => ProgramSym (p CppSrcCode CppHdrCode :: Type -> Type) ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

data FileData Source #

Instances

Instances details
RenderFile CSharpCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

RenderFile CppHdrCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

RenderFile CppSrcCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

RenderFile JavaCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

RenderFile PythonCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

RenderFile SwiftCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

RenderFile JuliaCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

RenderFile MatlabCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

FileSym CSharpCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

FileSym CppHdrCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileSym CppSrcCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileSym JavaCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

FileSym PythonCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

FileSym SwiftCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ProgramSym CSharpCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ProgramSym CppSrcCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ProgramSym JavaCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ProgramSym PythonCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ProgramSym SwiftCode ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

FileSym JuliaCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

FileSym MatlabCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ProgramSym JuliaCode ProgData FileData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ProgramSym MatlabCode ProgData FileData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ProcRenderSym JuliaCode Doc (Doc, Terminator) MethodData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ProcRenderSym MatlabCode Doc (Doc, Terminator) MethodData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ProcProg JuliaCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ProcProg MatlabCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

OORenderSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OORenderSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OORenderSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OORenderSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

OOProg CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOProg JavaCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOProg PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOProg SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Pair p => FileSym (p CppSrcCode CppHdrCode :: Type -> Type) FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Pair p => ProgramSym (p CppSrcCode CppHdrCode :: Type -> Type) ProgData FileData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Pair p => RenderFile (p CppSrcCode CppHdrCode) FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

data ModData Source #

Instances

Instances details
ModuleSym CSharpCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ModuleSym JavaCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ModuleSym PythonCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ModuleSym SwiftCode ModData MethodData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ModuleElim CSharpCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

ModuleElim CppHdrCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ModuleElim CppSrcCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

ModuleElim JavaCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

ModuleElim PythonCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

ModuleElim SwiftCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

RenderFile CSharpCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

RenderFile CppHdrCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

RenderFile CppSrcCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

RenderFile JavaCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

RenderFile PythonCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

RenderFile SwiftCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

RenderMod CSharpCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

RenderMod CppHdrCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

RenderMod CppSrcCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

RenderMod JavaCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

RenderMod PythonCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

RenderMod SwiftCode ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

ModuleElim JuliaCode ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ModuleElim MatlabCode ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

RenderFile JuliaCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

RenderFile MatlabCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

RenderMod JuliaCode ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

RenderMod MatlabCode ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

FileSym CSharpCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

FileSym CppHdrCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileSym CppSrcCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

FileSym JavaCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

FileSym PythonCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

FileSym SwiftCode FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

FileSym JuliaCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

FileSym MatlabCode FileData ModData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ModuleSym JuliaCode ModData MethodData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ModuleSym MatlabCode ModData MethodData Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ProcRenderSym JuliaCode Doc (Doc, Terminator) MethodData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ProcRenderSym MatlabCode Doc (Doc, Terminator) MethodData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

ProcProg JuliaCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer

ProcProg MatlabCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer

OORenderSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OORenderSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OORenderSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OORenderSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

OOProg CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer

OOProg JavaCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer

OOProg PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer

OOProg SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData FileData ModData Body Block Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer

Pair p => ModuleElim (p CppSrcCode CppHdrCode :: Type -> Type) ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Pair p => RenderMod (p CppSrcCode CppHdrCode :: Type -> Type) ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Pair p => FileSym (p CppSrcCode CppHdrCode :: Type -> Type) FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Pair p => RenderFile (p CppSrcCode CppHdrCode) FileData ModData Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

data VisibilityTag Source #

Constructors

Pub 
Priv 

Instances

Instances details
Eq VisibilityTag Source # 
Instance details

Defined in Drasil.Shared.AST

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

RenderVisibility CppHdrCode (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

RenderVisibility CppSrcCode (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VisibilityElim CppHdrCode (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

VisibilityElim CppSrcCode (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

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

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Pair p => RenderVisibility (p CppSrcCode CppHdrCode :: Type -> Type) (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

Pair p => VisibilityElim (p CppSrcCode CppHdrCode :: Type -> Type) (Doc, VisibilityTag) Source # 
Instance details

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

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

Defined in Drasil.GOOL.LanguageRenderer.CppRenderer

lensMStoVS :: Lens' MethodState ValueState Source #

onStateValue :: (a -> b) -> State s a -> State s b Source #

onCodeList :: Monad m => ([a] -> b) -> [m a] -> m b Source #

unJC :: JavaCode a -> a Source #

newtype LoggingFor (r :: Type -> Type) a Source #

Constructors

LC 

Fields

Instances

Instances details
AttachmentSym r attch => AttachmentSym (LoggingFor r :: Type -> Type) (attch :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

CommentStatement r stmt => CommentStatement (LoggingFor r :: Type -> Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

EmptyStatement r stmt => EmptyStatement (LoggingFor r :: Type -> Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

emptyStmt :: MS (LoggingFor r stmt) Source #

MultiStatement r stmt => MultiStatement (LoggingFor r :: Type -> Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

FileSym r file mod => FileSym (LoggingFor r :: Type -> Type) (file :: Type) (mod :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

fileDoc :: FS (LoggingFor r mod) -> FS (LoggingFor r file) Source #

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

ProgramSym r prg file => ProgramSym (LoggingFor r :: Type -> Type) (prg :: Type) (file :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

FileSym r file mod => FileSym (LoggingFor r :: Type -> Type) (file :: Type) (mod :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

fileDoc :: FS (LoggingFor r mod) -> FS (LoggingFor r file) Source #

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

ModuleSym r mod mthd => ModuleSym (LoggingFor r :: Type -> Type) (mod :: Type) (mthd :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

buildModule :: Label -> [Label] -> [MS (LoggingFor r mthd)] -> FS (LoggingFor r mod) Source #

ProgramSym r prg file => ProgramSym (LoggingFor r :: Type -> Type) (prg :: Type) (file :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

BlockSym r block stmt => BlockSym (LoggingFor r :: Type -> Type) (block :: Type) (stmt :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

BodySym r bod block => BodySym (LoggingFor r :: Type -> Type) (bod :: Type) (block :: Type) Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

body :: [MS (LoggingFor r block)] -> MS (LoggingFor r bod) Source #

addComments :: Label -> MS (LoggingFor r bod) -> MS (LoggingFor r bod) Source #

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

pi :: SValue (LoggingFor r) Source #

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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 #

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

pure :: a -> LoggingFor r a #

(<*>) :: LoggingFor r (a -> b) -> LoggingFor r a -> LoggingFor r b #

liftA2 :: (a -> b -> c) -> LoggingFor r a -> LoggingFor r b -> LoggingFor r c #

(*>) :: LoggingFor r a -> LoggingFor r b -> LoggingFor r b #

(<*) :: LoggingFor r a -> LoggingFor r b -> LoggingFor r a #

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

fmap :: (a -> b) -> LoggingFor r a -> LoggingFor r b #

(<$) :: a -> LoggingFor r b -> LoggingFor r a #

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

(>>=) :: LoggingFor r a -> (a -> LoggingFor r b) -> LoggingFor r b #

(>>) :: LoggingFor r a -> LoggingFor r b -> LoggingFor r b #

return :: a -> LoggingFor r a #

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

(MultiStatement r stmt, AssignStatement r stmt, FileHandling r stmt, PrintFile r stmt, VariableValue r, VariableElim r, Literal r) => AssignStatement (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

FileHandling r stmt => FileHandling (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

ListStatement r stmt => ListStatement (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

PrintConsole r stmt => PrintConsole (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

PrintFile r stmt => PrintFile (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

(MultiStatement r stmt, FileHandling r stmt, PrintFile r stmt, ReadConsole r stmt, VariableValue r, VariableElim r, Literal r) => ReadConsole (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

(MultiStatement r stmt, FileHandling r stmt, PrintFile r stmt, ReadFile r stmt, VariableValue r, VariableElim r, Literal r) => ReadFile (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

(MultiStatement r stmt, StringStatement r stmt, FileHandling r stmt, PrintFile r stmt, VariableValue r, VariableElim r, Literal r) => StringStatement (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

unRepr :: LoggingFor r contents -> contents Source #

ValueStatement r stmt => ValueStatement (LoggingFor r) stmt Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

ModuleSym r mod mthd => ModuleSym (LoggingFor r) mod mthd Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

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

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

StrategyPattern r bod block => StrategyPattern (LoggingFor r) bod block Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

runStrategy :: Label -> [(Label, MS (LoggingFor r bod))] -> Maybe (SValue (LoggingFor r)) -> Maybe (SVariable (LoggingFor r)) -> MS (LoggingFor r block) Source #

ControlStatement r stmt bod => ControlStatement (LoggingFor r) stmt bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

break :: MS (LoggingFor r stmt) Source #

continue :: MS (LoggingFor r stmt) Source #

returnStmt :: SValue (LoggingFor r) -> MS (LoggingFor r stmt) Source #

throw :: Label -> MS (LoggingFor r stmt) Source #

ifCond :: [(SValue (LoggingFor r), MS (LoggingFor r bod))] -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

switch :: SValue (LoggingFor r) -> [(SValue (LoggingFor r), MS (LoggingFor r bod))] -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

ifExists :: SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

for :: MS (LoggingFor r stmt) -> SValue (LoggingFor r) -> MS (LoggingFor r stmt) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

forRange :: SVariable (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

forEach :: SVariable (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

while :: SValue (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

tryCatch :: MS (LoggingFor r bod) -> MS (LoggingFor r bod) -> MS (LoggingFor r stmt) Source #

assert :: SValue (LoggingFor r) -> SValue (LoggingFor r) -> MS (LoggingFor r stmt) Source #

(MultiStatement r stmt, DeclStatement r stmt bod, FileHandling r stmt, PrintFile r stmt, VariableValue r, VariableElim r, Literal r) => DeclStatement (LoggingFor r) stmt bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

StateVarSym r vis stvr attch => StateVarSym (LoggingFor r) vis stvr attch Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

MethodSym r vis mthd bod => MethodSym (LoggingFor r) vis mthd bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

docMain :: MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

function :: Label -> LoggingFor r vis -> VS (LoggingFor r TypeData) -> [MS (LoggingFor r ParamData)] -> MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

mainFunction :: MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

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

inOutFunc :: Label -> LoggingFor r vis -> InOutFunc (LoggingFor r) mthd bod Source #

docInOutFunc :: Label -> LoggingFor r vis -> DocInOutFunc (LoggingFor r) mthd bod Source #

ClassSym r vis mthd stvr attch => ClassSym (LoggingFor r) vis mthd stvr attch Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

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

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

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

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

OOMethodSym r vis mthd attch bod => OOMethodSym (LoggingFor r) vis mthd attch bod Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

Methods

method :: Label -> LoggingFor r vis -> LoggingFor r attch -> VS (LoggingFor r TypeData) -> [MS (LoggingFor r ParamData)] -> MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

getMethod :: SVariable (LoggingFor r) -> MS (LoggingFor r mthd) Source #

setMethod :: SVariable (LoggingFor r) -> MS (LoggingFor r mthd) Source #

constructor :: [MS (LoggingFor r ParamData)] -> Initializers (LoggingFor r) -> MS (LoggingFor r bod) -> MS (LoggingFor r mthd) Source #

inOutMethod :: Label -> LoggingFor r vis -> LoggingFor r attch -> InOutFunc (LoggingFor r) mthd bod Source #

docInOutMethod :: Label -> LoggingFor r vis -> LoggingFor r attch -> DocInOutFunc (LoggingFor r) mthd bod Source #

ProcProg r vis stmt mthd prg file mod bod block => ProcProg (LoggingFor r) vis stmt mthd prg file mod bod block Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

OOProg r vis stmt mthd stvr attch prg file mod bod block => OOProg (LoggingFor r) vis stmt mthd stvr attch prg file mod bod block Source # 
Instance details

Defined in Drasil.Shared.LanguageRenderer.LoggingFor

class TypeSym r => TypeElim (r :: Type -> Type) 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`