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.

Types (Printing Options)

data DocType #

Document types include Software Requirements Specification and Website. Choosing SRS will generate both TeX and HTML files, while Website generates only as HTML. This also determines what folders the generated files will be placed into.

Constructors

SRS 
Website 
Lesson 

Instances

Instances details
Show DocType

Shows the different types of documents.

Instance details

Defined in Language.Drasil.Format

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).

Constructors

docChoices :: DocType -> [Format] -> DocChoices Source #

Constructor for users to choose their document options

Generators

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

Generate an SRS softifact.

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

Generate a JupyterNotebook-based lesson plan.

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

Generate a "website" (HTML file) softifact.

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

Generate an SRS softifact with a specific solution softifact.

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

Generate an SRS softifact with a zoo of solution softifacts.

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.

Type check a Drasil System