drasil-sysinfo-0.1.1.0: A framework for code and document generation for scientific software - SystemInformation SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

SysInfo.Drasil.SystemInformation

Description

Define types and functions related to creating a system information database.

Synopsis

System Information

Types

data SystemInformation where Source #

Data structure for holding all of the requisite information about a system to be used in artifact generation.

Constructors

SI 

Fields

data Block a Source #

Constructors

Coupled a a [a] 
Parallel a [a] 

Lenses

inputs :: HasInputs c => Lens' c [(QuantityDict, Maybe (RealInterval Expr Expr))] #

Provides a Lens that holds a QuantityDict and maybe constraints.

constraints :: Constrained c => Lens' c [ConstraintE] #

Provides a Lens to the Constraints.

Lookup Functions

citeDB :: SystemInformation -> BibRef Source #

Helper for extracting a bibliography from the system information.

citationsFromBibMap :: BibMap -> [Citation] Source #

Create sorted citations from a bibliography.

Reference Database

Types

data ReferenceDB Source #

Database for internal references. Contains citations and referrable concepts.

type RefMap a = Map UID (a, Int) Source #

Database for maintaining references. The Int is that reference's number. Maintains access to both num and chunk for easy reference swapping between number and shortname/refname when necessary (or use of number if no shortname exists).

type Purpose = [Sentence] Source #

Project Example purpose.

type Background = [Sentence] Source #

Project Example background information, used in the What section of README.

Constructors

rdb :: BibRef -> [ConceptInstance] -> ReferenceDB Source #

Smart constructor for creating a reference database from a bibliography and concept instances.

simpleMap :: HasUID a => [a] -> RefMap a Source #

Constructor that makes a RefMap from things that have a UID.

Lenses

citationDB :: Lens' ReferenceDB BibMap Source #

conceptDB :: Lens' ReferenceDB ConceptMap Source #