drasil-lang-0.1.60.0: A framework for code and document generation for scientific software - Language SubPackage
Safe HaskellNone
LanguageHaskell2010

Language.Drasil.Chunk.Concept

Description

Contains functions to create the concept related chunk types found in Language.Drasil.Chunk.Concept.Core.

Synopsis

Concept Chunks

From an idea (IdeaDict)

data ConceptChunk Source #

The ConceptChunk datatype records a concept that contains an idea (IdeaDict), a definition (Sentence), and an associated domain of knowledge ([UID]).

Ex. The concept of Accuracy may be defined as the quality or state of being correct or precise.

Instances

Instances details
Eq ConceptChunk Source #

Equal if UIDs are equal.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

HasUID ConceptChunk Source #

Finds UID of the IdeaDict used to make the ConceptChunk.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

uid :: Lens' ConceptChunk UID Source #

Idea ConceptChunk Source #

Finds the idea contained in the IdeaDict used to make the ConceptChunk.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

NamedIdea ConceptChunk Source #

Finds term (NP) of the IdeaDict used to make the ConceptChunk.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

term :: Lens' ConceptChunk NP Source #

ConceptDomain ConceptChunk Source #

Finds the domain of UIDs of a ConceptChunk.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

cdom :: ConceptChunk -> [UID] Source #

Definition ConceptChunk Source #

Finds definition of a ConceptChunk.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

dcc :: String -> NP -> String -> ConceptChunk Source #

Smart constructor for creating concept chunks given a UID, NounPhrase (NP) and definition (as a String).

Concept domain tagging is not yet implemented in this constructor.

dccWDS :: String -> NP -> Sentence -> ConceptChunk Source #

Similar to dcc, except the definition takes a Sentence.

cc :: Idea c => c -> String -> ConceptChunk Source #

Constructor for projecting an idea into a ConceptChunk. Takes the definition of the ConceptChunk as a String. Does not allow concept domain tagging.

cc' :: Idea c => c -> Sentence -> ConceptChunk Source #

Same as cc, except definition is a Sentence.

ccs :: (Idea c, Concept d) => c -> Sentence -> [d] -> ConceptChunk Source #

Similar to cc', but allows explicit domain tagging.

cw :: Concept c => c -> ConceptChunk Source #

For projecting out to the ConceptChunk data-type.

From a common idea (CI)

data CommonConcept Source #

Contains a common idea (CI) with a definition (Sentence). Similar to ConceptChunk, but must have an abbreviation.

Instances

Instances details
Eq CommonConcept Source #

Equal if UIDs are equal.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

HasUID CommonConcept Source #

Finds UID of the CI used to make the CommonConcept.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

uid :: Lens' CommonConcept UID Source #

Idea CommonConcept Source #

Finds the idea contained in the CI used to make the CommonConcept.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

NamedIdea CommonConcept Source #

Finds term (NP) of the CI used to make the CommonConcept.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

term :: Lens' CommonConcept NP Source #

CommonIdea CommonConcept Source #

Finds the abbreviation contained in the CI used to make the CommonConcept.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

ConceptDomain CommonConcept Source #

Finds the domain contained in the CI used to make the CommonConcept.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

cdom :: CommonConcept -> [UID] Source #

Definition CommonConcept Source #

Finds definition of a CommonConcept.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

dcc' :: String -> NP -> String -> String -> CommonConcept Source #

Identical to dcc, but takes an abbreviation (String) and returns a CommonConcept instead.

dccWDS' :: String -> NP -> Sentence -> String -> CommonConcept Source #

Similar to dcc, except the definition is a Sentence, takes an abbreviation (String) and returns a CommonConcept instead.

From a ConceptChunk

data ConceptInstance Source #

Contains a ConceptChunk, reference address, and a ShortName. It is a concept that can be referred to, or rather, a instance of where a concept is applied. Often used in Goal Statements, Assumptions, Requirements, etc.

Ex. Something like the assumption that gravity is 9.81 m/s. When we write our equations, we can then link this assumption so that we do not have to explicitly define that assumption when needed to verify our work.

Instances

Instances details
Eq ConceptInstance Source #

Equal if UIDs are equal.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

HasUID ConceptInstance Source #

Finds UID of the ConceptChunk used to make the ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

uid :: Lens' ConceptInstance UID Source #

Referable ConceptInstance Source #

Finds the reference information contained in a ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

HasRefAddress ConceptInstance Source #

Finds the reference address contained in a ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

HasShortName ConceptInstance Source #

Finds the ShortName contained in a ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Idea ConceptInstance Source #

Finds the idea contained in the ConceptChunk used to make the ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

NamedIdea ConceptInstance Source #

Finds term (NP) of the ConceptChunk used to make the ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Methods

term :: Lens' ConceptInstance NP Source #

ConceptDomain ConceptInstance Source #

Finds the domain contained in the ConceptChunk used to make the ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

Definition ConceptInstance Source #

Finds the definition contained in the ConceptChunk used to make the ConceptInstance.

Instance details

Defined in Language.Drasil.Chunk.Concept.Core

cic :: Concept c => String -> Sentence -> String -> c -> ConceptInstance Source #

Constructor for a ConceptInstance. Takes in the Reference Address (String), a definition (Sentence), a short name (String), and a domain (for explicit tagging).