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

Drasil.System

Synopsis

System

Types

data System where Source #

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

Constructors

SI 

Fields

data SystemKind Source #

Enumeration of kinds of Systems we can encode.

type Purpose = [Sentence] Source #

Project Example purpose.

type Background = [Sentence] Source #

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

type Scope = [Sentence] Source #

Project Example scope.

type Motivation = [Sentence] Source #

Project Example motivation.

Lenses

class HasSystem c where Source #

Minimal complete definition

system

Methods

system :: Lens' c System Source #

constants :: Lens' c [ConstQDef] Source #

dataDefns :: Lens' c [DataDefinition] Source #

genDefns :: Lens' c [GenDefn] Source #

instModels :: Lens' c [InstanceModel] Source #

kind :: Lens' c SystemKind Source #

meta :: Lens' c SystemMeta Source #

programName :: Lens' c String Source #

refTable :: Lens' c (Map UID Reference) Source #

refbyTable :: Lens' c (Map UID [UID]) Source #

theoryModels :: Lens' c [TheoryModel] Source #

traceTable :: Lens' c (Map UID [UID]) Source #

class HasSystemMeta c where Source #

Minimal complete definition

systemMeta

Methods

systemMeta :: Lens' c SystemMeta Source #

authors :: Lens' c People Source #

background :: Lens' c Background Source #

motivation :: Lens' c Motivation Source #

purpose :: Lens' c Purpose Source #

scope :: Lens' c Scope Source #

sysName :: Lens' c CI Source #

systemdb :: Lens' c ChunkDB Source #

Instances

Instances details
HasSystemMeta System Source # 
Instance details

Defined in Drasil.System.OldSystem

Functions

whatsTheBigIdea :: System -> IdeaDict Source #

Probe what kind of System one is. For example, does it represent a (Problem) specification, runnable software, a notebook, or a website?

Hacks

refbyLookup :: UID -> System -> [UID] Source #

Find what chunks reference a specific chunk.

traceLookup :: UID -> System -> [UID] Source #

Find what chunks a specific one references.