| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Drasil.GProc.InterfaceProc
Synopsis
- type Program = ProgData
- type GSProgram (a :: k -> Type) (prg :: k) = GS (a prg)
- class (UnRepr r TypeData, BodySym r bod block, BlockSym r block stmt, ValueSym r val typ, VariableSym r var typ, VariableValue r var val, ScopeSym r scope, BinderSym r binder typ, InternalList r block var val, VisibilitySym r vis, MethodSym r mthd vis param bod var typ, TypeSym r typ, TypeElim r typ, VariableElim r var typ, IndexTranslator r val, Array r var val, EmptyStatement r stmt, MultiStatement r stmt, ValueStatement r stmt val, AssignStatement r stmt var val, Argument r val, BooleanExpression r val, CommandLineArgs r val, CommentStatement r stmt, Comparison r val, ControlStatement r bod stmt var val, DeclStatement r bod stmt var scope val, FuncAppStatement r stmt var val, PrintConsole r stmt val, ReadConsole r stmt var, FileHandling r stmt var val, PrintFile r stmt val, ReadFile r stmt var val, List r val, ListStatement r stmt val, Literal r val typ, MathConstant r val, NumericExpression r val, ParameterSym r param var, Reference r val, Set r val, StringStatement r stmt var val, ValueExpression r var val binder typ, VariableValue r var val, ModuleSym r mod mthd, FileSym r file mod, ProgramSym r prg file) => ProcProg (r :: Type -> Type) prg file mod mthd vis param bod block stmt var scope val binder typ
- class ProgramSym (r :: k -> Type) (prg :: k) (file :: k) | r -> prg file where
- class FileSym (r :: k -> Type) (file :: k) (mod :: k) | r -> file mod where
- class ModuleSym (r :: k -> Type) (mod :: k) (mthd :: k) | r -> mod mthd where
- buildModule :: Label -> [Label] -> [MS (r mthd)] -> FS (r mod)
Documentation
class (UnRepr r TypeData, BodySym r bod block, BlockSym r block stmt, ValueSym r val typ, VariableSym r var typ, VariableValue r var val, ScopeSym r scope, BinderSym r binder typ, InternalList r block var val, VisibilitySym r vis, MethodSym r mthd vis param bod var typ, TypeSym r typ, TypeElim r typ, VariableElim r var typ, IndexTranslator r val, Array r var val, EmptyStatement r stmt, MultiStatement r stmt, ValueStatement r stmt val, AssignStatement r stmt var val, Argument r val, BooleanExpression r val, CommandLineArgs r val, CommentStatement r stmt, Comparison r val, ControlStatement r bod stmt var val, DeclStatement r bod stmt var scope val, FuncAppStatement r stmt var val, PrintConsole r stmt val, ReadConsole r stmt var, FileHandling r stmt var val, PrintFile r stmt val, ReadFile r stmt var val, List r val, ListStatement r stmt val, Literal r val typ, MathConstant r val, NumericExpression r val, ParameterSym r param var, Reference r val, Set r val, StringStatement r stmt var val, ValueExpression r var val binder typ, VariableValue r var val, ModuleSym r mod mthd, FileSym r file mod, ProgramSym r prg file) => ProcProg (r :: Type -> Type) prg file mod mthd vis param bod block stmt var scope val binder typ Source #
Wrapper typeclass that bundles everything essential for generating a procedural program.
Instances
| ProcProg JuliaCode ProgData FileData ModData MethodData Doc ParamData Body Block Statement Variable ScopeData Value BinderD TypeData Source # | |
Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer | |
| ProcProg MatlabCode ProgData FileData ModData MethodData Doc ParamData Body Block Statement Variable ScopeData Value BinderD TypeData Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| ProcProg r prg file mod mthd vis param bod block stmt var scope val binder typ => ProcProg (LoggingFor r) prg file mod mthd vis param bod block stmt var scope val binder typ Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor | |
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
| ProgramSym JuliaCode ProgData FileData Source # | |
| ProgramSym MatlabCode ProgData FileData Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| ProgramSym r prg file => ProgramSym (LoggingFor r :: Type -> Type) (prg :: Type) (file :: Type) Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor Methods prog :: Label -> Label -> [FS (LoggingFor r file)] -> GSProgram (LoggingFor r) prg Source # | |
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
| FileSym JuliaCode FileData ModData Source # | |
| FileSym MatlabCode FileData ModData Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| FileSym r file mod => FileSym (LoggingFor r :: Type -> Type) (file :: Type) (mod :: Type) Source # | |
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 # | |
class ModuleSym (r :: k -> Type) (mod :: k) (mthd :: k) | r -> mod mthd where Source #
Class for representing a module.
Methods
buildModule :: Label -> [Label] -> [MS (r mthd)] -> FS (r mod) Source #
Given module name, list of import names, and list of module functions, generates a representation of a module.
Instances
| ModuleSym JuliaCode ModData MethodData Source # | |
Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer | |
| ModuleSym MatlabCode ModData MethodData Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer Methods buildModule :: Label -> [Label] -> [MS (MatlabCode MethodData)] -> FS (MatlabCode ModData) Source # | |
| ModuleSym r mod mthd => ModuleSym (LoggingFor r :: Type -> Type) (mod :: Type) (mthd :: Type) Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor Methods buildModule :: Label -> [Label] -> [MS (LoggingFor r mthd)] -> FS (LoggingFor r mod) Source # | |