drasil-gen-0.1.3.0: A framework for code and document generation for scientific software - Utils SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Drasil.Generator

Synopsis

Base ChunkDB for all case studies

cdb :: [DefinedQuantityDict] -> [IdeaDict] -> [ConceptChunk] -> [UnitDefn] -> [DataDefinition] -> [InstanceModel] -> [GenDefn] -> [TheoryModel] -> [ConceptInstance] -> [Citation] -> [LabelledContent] -> ChunkDB Source #

Create a ChunkDB containing all knowledge (chunks) required to generate our SmithEtAl-esque SRS.

Tools for dumping a chunk database to disk for debugging

dumpEverything :: System -> PrintingInformation -> Path -> IO () Source #

For debugging purposes, if the system has a DEBUG_ENV environment variable set to anything, we can dump the chunk maps in a system to the host system.

Generators

exportCode :: System -> Choices -> IO () Source #

Internal: Generate an ICO-style executable softifact.

exportCodeZoo :: System -> [Choices] -> IO () Source #

Internal: Generate a zoo of ICO-style executable softifact.

Internal Functions

codedDirName :: String -> Choices -> String Source #

Find name of folders created for a "zoo" of executable softifacts.

FIXME: This is a hack. The generation phase should emit what artifacts it created.

Generators

exportSmithEtAlSrsWCode :: System -> SRSDecl -> String -> Choices -> IO () Source #

Generate an SRS softifact with a specific solution softifact.

exportSmithEtAlSrsWCodeZoo :: System -> SRSDecl -> String -> [Choices] -> IO () Source #

Generate an SRS softifact with a zoo of solution softifacts.

Types (Printing Options)

data DocSpec Source #

Document specifications. Holds the type of document (DocType) and its name (Filename).

Instances

Instances details
RuleTransformer DocSpec Source #

Allows the creation of Makefiles for documents that use LaTeX.

Instance details

Defined in Drasil.Generator.Formats

Methods

makeRule :: DocSpec -> [Rule] #

data DocChoices Source #

Document choices include the type of document as well as the file formats we want to generate as.

Constructors

DC 

Fields

data DocClass Source #

LaTeX helper.

Constructors

DocClass (Maybe String) String 

newtype UsePackages Source #

LaTeX helper for adding packages. Wraps a list of package names.

Constructors

UsePackages [String] 

data ExDoc Source #

LaTeX helper.

Constructors

ExDoc (Maybe String) String 

type Filename = String Source #

When choosing your document, you must specify the filename for the generated output (specified without a file extension).

data Format Source #

Possible formats for printer output.

Constructors

TeX 
Plain 
HTML 
Jupyter 
MDBook 

Instances

Instances details
Show Format Source # 
Instance details

Defined in Drasil.Generator.Formats

Constructors

docChoices :: [Format] -> DocChoices Source #

Constructor for users to choose their document options

exportLessonPlan :: System -> LsnDesc -> String -> IO () Source #

Generate an interactive JupyterNotebook-based lesson plan.

Generators

exportSmithEtAlSrs :: System -> SRSDecl -> String -> IO () Source #

Generate an SRS softifact.

Type check a Drasil System

exportWebsite :: System -> Document -> Filename -> IO () Source #

Generate a "website" (HTML file) softifact.