| 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, FunctionSym r, VariableValue r, ScopeSym r, BinderSym r, InternalList r block, MethodSym r vis mthd bod, TypeElim r, VariableElim r, Array r, EmptyStatement r stmt, MultiStatement r stmt, ValueStatement r stmt, AssignStatement r stmt, Argument r, BooleanExpression r, CommandLineArgs r, CommentStatement r stmt, Comparison r, ControlStatement r stmt bod, DeclStatement r stmt bod, FuncAppStatement r stmt, PrintConsole r stmt, ReadConsole r stmt, FileHandling r stmt, PrintFile r stmt, ReadFile r stmt, List r, ListStatement r stmt, Literal r, MathConstant r, NumericExpression r, ParameterSym r, Reference r, Set r, StringStatement r stmt, ValueExpression r, VariableValue r, ModuleSym r mod mthd, FileSym r file mod, ProgramSym r prg file) => ProcProg (r :: Type -> Type) vis stmt mthd prg file mod bod block
- 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, FunctionSym r, VariableValue r, ScopeSym r, BinderSym r, InternalList r block, MethodSym r vis mthd bod, TypeElim r, VariableElim r, Array r, EmptyStatement r stmt, MultiStatement r stmt, ValueStatement r stmt, AssignStatement r stmt, Argument r, BooleanExpression r, CommandLineArgs r, CommentStatement r stmt, Comparison r, ControlStatement r stmt bod, DeclStatement r stmt bod, FuncAppStatement r stmt, PrintConsole r stmt, ReadConsole r stmt, FileHandling r stmt, PrintFile r stmt, ReadFile r stmt, List r, ListStatement r stmt, Literal r, MathConstant r, NumericExpression r, ParameterSym r, Reference r, Set r, StringStatement r stmt, ValueExpression r, VariableValue r, ModuleSym r mod mthd, FileSym r file mod, ProgramSym r prg file) => ProcProg (r :: Type -> Type) vis stmt mthd prg file mod bod block Source #
Wrapper typeclass that bundles everything essential for generating a procedural program.
Instances
| ProcProg JuliaCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # | |
Defined in Drasil.GProc.LanguageRenderer.JuliaRenderer | |
| ProcProg MatlabCode Doc (Doc, Terminator) MethodData ProgData FileData ModData Body Block Source # | |
Defined in Drasil.GProc.LanguageRenderer.MatlabRenderer | |
| ProcProg r vis stmt mthd prg file mod bod block => ProcProg (LoggingFor r) vis stmt mthd prg file mod bod block 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 # | |