drasil-theory-0.1.0.0: A framework for code and document generation for scientific software - Theory SubPackage
Safe HaskellNone
LanguageHaskell2010

Theory.Drasil.DataDefinition

Description

Defines types and functions for Data Definitions.

Synopsis

Types

newtype Scope Source #

A scope is an indirect reference to a UID.

Constructors

Scp 

Fields

data ScopeType Source #

Determines the scope of data.

Constructors

Local Scope

Only visible within a limited scope.

Global

Visible everywhere.

data DataDefinition where Source #

A data definition is a QDefinition that may have additional notes: the scope, any references (as DecRefs), maybe a derivation, a label (ShortName), a reference address, and other notes (Sentences).

Instances

Instances details
Eq DataDefinition Source #

Equal if UIDs are equal.

Instance details

Defined in Theory.Drasil.DataDefinition

MayHaveUnit DataDefinition Source #

Finds the units of the QDefinition used to make the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

HasAdditionalNotes DataDefinition Source #

Finds any additional notes for the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

getNotes :: Lens' DataDefinition [Sentence] #

ConceptDomain DataDefinition Source #

Finds the domain of the QDefinition used to make the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

cdom :: DataDefinition -> [UID] #

CommonIdea DataDefinition Source #

Finds the idea of a 'DataDefinition where' (abbreviation).

Instance details

Defined in Theory.Drasil.DataDefinition

Quantity DataDefinition Source #

'DataDefinition where's have a Quantity.

Instance details

Defined in Theory.Drasil.DataDefinition

HasDecRef DataDefinition Source #

Finds DecRefs contained in the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

getDecRefs :: Lens' DataDefinition [DecRef] #

HasDerivation DataDefinition Source #

Finds the derivation of the 'DataDefinition where'. May contain Nothing.

Instance details

Defined in Theory.Drasil.DataDefinition

NamedIdea DataDefinition Source #

Finds the term (NP) of the QDefinition used to make the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

term :: Lens' DataDefinition NP #

Idea DataDefinition Source #

Finds the idea contained in the QDefinition used to make the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

HasShortName DataDefinition Source #

Finds the ShortName of the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Express DataDefinition Source #

Converts the defining expression of a 'DataDefinition where' into the model expression language.

Instance details

Defined in Theory.Drasil.DataDefinition

HasSpace DataDefinition Source #

Finds the Space of the QDefinition used to make the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

typ :: Lens' DataDefinition Space #

HasSymbol DataDefinition Source #

Finds the Symbol of the QDefinition used to make the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

HasRefAddress DataDefinition Source #

Finds the reference address of a 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Referable DataDefinition Source #

Finds the reference address of a 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

HasUID DataDefinition Source #

Finds the UID of a 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

uid :: Lens' DataDefinition UID #

ddQD :: Lens' SimpleQDef a -> Lens' ModelQDef a -> Lens' DataDefinition a Source #

ddPkt :: Lens' DDPkt a -> Lens' DataDefinition a Source #

Constructors

ddE :: SimpleQDef -> [DecRef] -> Maybe Derivation -> String -> [Sentence] -> DataDefinition Source #

Smart constructor for data definitions.

ddENoRefs :: SimpleQDef -> Maybe Derivation -> String -> [Sentence] -> DataDefinition Source #

Smart constructor for data definitions with no references.

ddME :: ModelQDef -> [DecRef] -> Maybe Derivation -> String -> [Sentence] -> DataDefinition Source #

Smart constructor for data definitions.

ddMENoRefs :: ModelQDef -> Maybe Derivation -> String -> [Sentence] -> DataDefinition Source #

Smart constructor for data definitions with no references.

qdFromDD :: DataDefinition -> Either SimpleQDef ModelQDef Source #

Extracts the 'QDefinition e' from a DataDefinition.