drasil-theory-0.1.0.0: A framework for code and document generation for scientific software - Theory SubPackage
Safe HaskellSafe-Inferred
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
Idea DataDefinition Source #

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

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 #

DefinesQuantity DataDefinition Source #

Finds the Quantity defined by the DataDefinition

Instance details

Defined in Theory.Drasil.DataDefinition

CommonIdea DataDefinition Source #

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

Instance details

Defined in Theory.Drasil.DataDefinition

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] #

HasAdditionalNotes DataDefinition Source #

Finds any additional notes for the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

getNotes :: Lens' DataDefinition [Sentence] #

HasDecRef DataDefinition Source #

Finds DecRefs contained in the 'DataDefinition where'.

Instance details

Defined in Theory.Drasil.DataDefinition

Methods

getDecRefs :: Lens' DataDefinition [DecRef] #

MayHaveDerivation DataDefinition Source #

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

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

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

HasShortName DataDefinition Source #

Finds the ShortName of the '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 :: Getter DataDefinition UID #

HasOutput DataDefinition Source #

Finds the output variable of the DataDefinition

Instance details

Defined in Theory.Drasil.DataDefinition

Eq DataDefinition Source #

Equal if UIDs are equal.

Instance details

Defined in Theory.Drasil.DataDefinition

RequiresChecking DataDefinition Expr Space Source #

Expose all expressions that need to be type-checked.

Instance details

Defined in Theory.Drasil.DataDefinition

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

ddQDGetter :: (Profunctor p, Contravariant f) => Getter SimpleQDef a -> Getter ModelQDef a -> Optic' p f 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.