| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Drasil.Shared.RendererClassesCommon
Documentation
class (AssignStatement r, DeclStatement r, IOStatement r, StringStatement r, FuncAppStatement r, CommentStatement r, ControlStatement r, Argument r, Literal r, MathConstant r, VariableValue r, CommandLineArgs r, NumericExpression r, BooleanExpression r, Comparison r, IndexTranslator r, List r, InternalList r, VectorExpression r, VariableElim r, BinderElim r, RenderBlock r, BlockElim r, RenderBody r, BodyElim r, InternalListFunc r, RenderFunction r, FunctionElim r, OpElim r, RenderParam r, ParamElim r, RenderVisibility r, VisibilityElim r, InternalAssignStmt r, InternalIOStmt r, InternalControlStmt r, RenderStatement r, StatementElim r, RenderType r, RenderValue r, ValueElim r, RenderVariable r, InternalVarElim r, InternalBinderElim r, ImportSym r, ImportElim r, UnaryOpSym r, BinaryOpSym r, BlockCommentSym r, BlockCommentElim r, ValueExpression r, RenderMethod r, MethodElim r, ParameterSym r, ScopeElim r) => CommonRenderSym r Source #
Instances
class ImportSym r where Source #
Instances
class ImportElim r where Source #
Instances
| ImportElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods import' :: CSharpCode (Import CSharpCode) -> Doc Source # | |
| ImportElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods import' :: CppHdrCode (Import CppHdrCode) -> Doc Source # | |
| ImportElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods import' :: CppSrcCode (Import CppSrcCode) -> Doc Source # | |
| ImportElim JavaCode Source # | |
| ImportElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods import' :: PythonCode (Import PythonCode) -> Doc Source # | |
| ImportElim SwiftCode Source # | |
| ImportElim JuliaCode Source # | |
| Pair p => ImportElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods import' :: p CppSrcCode CppHdrCode (Import (p CppSrcCode CppHdrCode)) -> Doc Source # | |
class RenderBody r where Source #
Instances
| RenderBody CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods multiBody :: [MSBody CSharpCode] -> MSBody CSharpCode Source # | |
| RenderBody CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods multiBody :: [MSBody CppHdrCode] -> MSBody CppHdrCode Source # | |
| RenderBody CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods multiBody :: [MSBody CppSrcCode] -> MSBody CppSrcCode Source # | |
| RenderBody JavaCode Source # | |
| RenderBody PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods multiBody :: [MSBody PythonCode] -> MSBody PythonCode Source # | |
| RenderBody SwiftCode Source # | |
| RenderBody JuliaCode Source # | |
| Pair p => RenderBody (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods multiBody :: [MSBody (p CppSrcCode CppHdrCode)] -> MSBody (p CppSrcCode CppHdrCode) Source # | |
class BodyElim r where Source #
Instances
| BodyElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods body :: CSharpCode (Body CSharpCode) -> Doc Source # | |
| BodyElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods body :: CppHdrCode (Body CppHdrCode) -> Doc Source # | |
| BodyElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods body :: CppSrcCode (Body CppSrcCode) -> Doc Source # | |
| BodyElim JavaCode Source # | |
| BodyElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods body :: PythonCode (Body PythonCode) -> Doc Source # | |
| BodyElim SwiftCode Source # | |
| BodyElim JuliaCode Source # | |
| Pair p => BodyElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods body :: p CppSrcCode CppHdrCode (Body (p CppSrcCode CppHdrCode)) -> Doc Source # | |
class RenderBlock r where Source #
Methods
multiBlock :: [MSBlock r] -> MSBlock r Source #
Instances
class BlockElim r where Source #
Instances
| BlockElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods block :: CSharpCode (Block CSharpCode) -> Doc Source # | |
| BlockElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods block :: CppHdrCode (Block CppHdrCode) -> Doc Source # | |
| BlockElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods block :: CppSrcCode (Block CppSrcCode) -> Doc Source # | |
| BlockElim JavaCode Source # | |
| BlockElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods block :: PythonCode (Block PythonCode) -> Doc Source # | |
| BlockElim SwiftCode Source # | |
| BlockElim JuliaCode Source # | |
| Pair p => BlockElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods block :: p CppSrcCode CppHdrCode (Block (p CppSrcCode CppHdrCode)) -> Doc Source # | |
class RenderType r where Source #
Instances
| RenderType CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods multiType :: [VSType CSharpCode] -> VSType CSharpCode Source # | |
| RenderType CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods multiType :: [VSType CppHdrCode] -> VSType CppHdrCode Source # | |
| RenderType CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods multiType :: [VSType CppSrcCode] -> VSType CppSrcCode Source # | |
| RenderType JavaCode Source # | |
| RenderType PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods multiType :: [VSType PythonCode] -> VSType PythonCode Source # | |
| RenderType SwiftCode Source # | |
| RenderType JuliaCode Source # | |
| Pair p => RenderType (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods multiType :: [VSType (p CppSrcCode CppHdrCode)] -> VSType (p CppSrcCode CppHdrCode) Source # | |
class UnaryOpSym r where Source #
Methods
Instances
class BinaryOpSym r where Source #
Methods
notEqualOp :: VSBinOp r Source #
greaterOp :: VSBinOp r Source #
greaterEqualOp :: VSBinOp r Source #
lessEqualOp :: VSBinOp r Source #
divideOp :: VSBinOp r Source #
Instances
Methods
uOp :: r OpData -> Doc Source #
bOp :: r OpData -> Doc Source #
Instances
| OpElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| OpElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OpElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OpElim JavaCode Source # | |
| OpElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| OpElim SwiftCode Source # | |
| OpElim JuliaCode Source # | |
| Pair p => OpElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods uOp :: p CppSrcCode CppHdrCode OpData -> Doc Source # bOp :: p CppSrcCode CppHdrCode OpData -> Doc Source # uOpPrec :: p CppSrcCode CppHdrCode OpData -> Int Source # bOpPrec :: p CppSrcCode CppHdrCode OpData -> Int Source # | |
class RenderVariable r where Source #
Methods
varFromData :: AttachmentTag -> String -> VSType r -> Doc -> SVariable r Source #
Instances
class InternalVarElim r where Source #
Methods
variableBind :: r (Variable r) -> AttachmentTag Source #
Instances
class InternalBinderElim r where Source #
Methods
binderElim :: r BinderD -> Doc Source #
Instances
class RenderValue r where Source #
Methods
inputFunc :: SValue r Source #
printFunc :: SValue r Source #
printLnFunc :: SValue r Source #
printFileFunc :: SValue r -> SValue r Source #
printFileLnFunc :: SValue r -> SValue r Source #
cast :: VSType r -> SValue r -> SValue r Source #
call :: Maybe Library -> Maybe Doc -> MixedCall r Source #
Very generic internal function for generating calls, to reduce repeated code throughout generators. Parameters are: maybe name of external module, maybe Doc for object variable (including separator between object and function) for method calls.
valFromData :: Maybe Int -> Maybe Integer -> VSType r -> Doc -> SValue r Source #
Instances
class ValueElim r where Source #
Methods
valuePrec :: r (Value r) -> Maybe Int Source #
Instances
class InternalListFunc r where Source #
Methods
listSizeFunc :: SValue r -> VSFunction r Source #
List
listAddFunc :: SValue r -> SValue r -> SValue r -> VSFunction r Source #
List, Index, Value
listAppendFunc :: SValue r -> SValue r -> VSFunction r Source #
List, Value
listAccessFunc :: VSType r -> SValue r -> VSFunction r Source #
List, Index
listSetFunc :: SValue r -> SValue r -> SValue r -> VSFunction r Source #
List, Index, Value
Instances
class RenderFunction r where Source #
Methods
funcFromData :: Doc -> VSType r -> VSFunction r Source #
Instances
class FunctionElim r where Source #
Methods
functionType :: r (Function r) -> r TypeData Source #
Instances
class InternalAssignStmt r where Source #
Methods
multiAssign :: [SVariable r] -> [SValue r] -> MSStatement r Source #
Instances
class InternalIOStmt r where Source #
Instances
class InternalControlStmt r where Source #
Methods
multiReturn :: [SValue r] -> MSStatement r Source #
Instances
class RenderStatement r where Source #
Methods
stmt :: MSStatement r -> MSStatement r Source #
loopStmt :: MSStatement r -> MSStatement r Source #
stmtFromData :: Doc -> Terminator -> MSStatement r Source #
Instances
class StatementElim r where Source #
Methods
statement :: r (Statement r) -> Doc Source #
statementTerm :: r (Statement r) -> Terminator Source #
Instances
class RenderVisibility r where Source #
Methods
visibilityFromData :: VisibilityTag -> Doc -> r (Visibility r) Source #
Instances
class VisibilityElim r where Source #
Methods
visibility :: r (Visibility r) -> Doc Source #
Instances
type MSMthdType a = MS (a (MethodType a)) Source #
class TypeSym r => MethodTypeSym r where Source #
Associated Types
type MethodType r Source #
Methods
mType :: VSType r -> MSMthdType r Source #
Instances
class RenderParam r where Source #
Methods
paramFromData :: SVariable r -> Doc -> MSParameter r Source #
Instances
class ParamElim r where Source #
Methods
parameterName :: r (Parameter r) -> Label Source #
parameterType :: r (Parameter r) -> r TypeData Source #
Instances
class (MethodTypeSym r, BlockCommentSym r) => RenderMethod r where Source #
Methods
commentedFunc :: MS (r Doc) -> SMethod r -> SMethod r Source #
Takes a BlockComment and a method and generates a function.
mthdFromData :: VisibilityTag -> Doc -> SMethod r Source #
Instances
class MethodElim r where Source #
Instances
| MethodElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods method :: CSharpCode (Method CSharpCode) -> Doc Source # | |
| MethodElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods method :: CppHdrCode (Method CppHdrCode) -> Doc Source # | |
| MethodElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods method :: CppSrcCode (Method CppSrcCode) -> Doc Source # | |
| MethodElim JavaCode Source # | |
| MethodElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods method :: PythonCode (Method PythonCode) -> Doc Source # | |
| MethodElim SwiftCode Source # | |
| MethodElim JuliaCode Source # | |
| Pair p => MethodElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods method :: p CppSrcCode CppHdrCode (Method (p CppSrcCode CppHdrCode)) -> Doc Source # | |
class BlockCommentSym r where Source #
Methods
blockComment :: [String] -> r Doc Source #
docComment :: State a [String] -> State a (r Doc) Source #
Converts a list of strings into a block comment
Instances
class BlockCommentElim r where Source #
Methods
blockComment' :: r Doc -> Doc Source #
Instances
class ScopeElim r where Source #
Instances
| ScopeElim CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| ScopeElim CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ScopeElim CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ScopeElim JavaCode Source # | |
| ScopeElim PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| ScopeElim SwiftCode Source # | |
| ScopeElim JuliaCode Source # | |
| Pair p => ScopeElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods scopeData :: p CppSrcCode CppHdrCode ScopeData -> ScopeData Source # | |