| 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, 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, 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
| ImportSym CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| ImportSym CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ImportSym CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| ImportSym JavaCode Source # | |
| ImportSym PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| ImportSym SwiftCode Source # | |
| ImportSym JuliaCode Source # | |
| ImportSym MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| Pair p => ImportSym (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods langImport :: Label -> p CppSrcCode CppHdrCode Doc Source # modImport :: Label -> p CppSrcCode CppHdrCode Doc Source # | |
class RenderBody r where Source #
Instances
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 # | |
| BodyElim MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer Methods body :: MatlabCode (Body MatlabCode) -> Doc 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
class RenderType r where Source #
Instances
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 # | |
| OpElim MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| 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 #
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
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 # | |
| ScopeElim MatlabCode Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| Pair p => ScopeElim (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods scopeData :: p CppSrcCode CppHdrCode ScopeData -> ScopeData Source # | |