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

Theory.Drasil.Theory

Description

Defines types and functions for Theoretical Models.

Synopsis

Class

class Theory t where Source #

Theories are the basis for building models with context, spaces, quantities, operations, invariants, etc.

Methods

valid_context :: Lens' t [TheoryModel] Source #

spaces :: Lens' t [SpaceDefn] Source #

quantities :: Lens' t [QuantityDict] Source #

operations :: Lens' t [ConceptChunk] Source #

defined_quant :: Lens' t [ModelQDef] Source #

invariants :: Lens' t [ModelExpr] Source #

defined_fun :: Lens' t [ModelQDef] Source #

Instances

Instances details
Theory TheoryModel Source #

Finds the aspects of the Theory behind the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Type

data TheoryModel Source #

A TheoryModel is a collection of:

  • tUid - a UID,
  • con - a ConceptChunk,
  • vctx - definition context (TheoryModels),
  • spc - type definitions (SpaceDefns),
  • quan - quantities (QuantityDicts),
  • ops - operations (ConceptChunks),
  • defq - definitions (QDefinitions),
  • invs - invariants (ModelExprs),
  • dfun - defined functions (QDefinitions),
  • ref - accompanying references (DecRefs),
  • lb - a label (SpaceDefn),
  • ra - reference address (SpaceDefn),
  • notes - additional notes (Sentences).

Right now, neither the definition context (vctx) nor the spaces (spc) are ever defined.

Instances

Instances details
Idea TheoryModel Source #

Finds the idea of the ConceptChunk contained in the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

NamedIdea TheoryModel Source #

Finds the term (NP) of the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Methods

term :: Lens' TheoryModel NP #

CommonIdea TheoryModel Source #

Finds the idea of a TheoryModel (abbreviation).

Instance details

Defined in Theory.Drasil.Theory

Methods

abrv :: TheoryModel -> String #

ConceptDomain TheoryModel Source #

Finds the domain of the ConceptChunk contained in a TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Methods

cdom :: TheoryModel -> [UID] #

Definition TheoryModel Source #

Finds the definition of the ConceptChunk contained in a TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Methods

defn :: Lens' TheoryModel Sentence #

HasAdditionalNotes TheoryModel Source #

Finds any additional notes for the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Methods

getNotes :: Lens' TheoryModel [Sentence] #

HasDecRef TheoryModel Source #

Finds DecRefs contained in the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Methods

getDecRefs :: Lens' TheoryModel [DecRef] #

HasRefAddress TheoryModel Source #

Finds the reference address of the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Referable TheoryModel Source #

Finds the reference address of a TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

HasShortName TheoryModel Source #

Finds the ShortName of the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

HasUID TheoryModel Source #

Finds the UID of a TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Methods

uid :: Lens' TheoryModel UID #

Theory TheoryModel Source #

Finds the aspects of the Theory behind the TheoryModel.

Instance details

Defined in Theory.Drasil.Theory

Constructors

tm :: (Quantity q, MayHaveUnit q, Concept c) => ModelKind ModelExpr -> [q] -> [c] -> [ModelQDef] -> [ModelExpr] -> [ModelQDef] -> [DecRef] -> String -> [Sentence] -> TheoryModel Source #

Constructor for theory models. Must have a source. Uses the shortname of the reference address.

tmNoRefs :: (Quantity q, MayHaveUnit q, Concept c) => ModelKind ModelExpr -> [q] -> [c] -> [ModelQDef] -> [ModelExpr] -> [ModelQDef] -> String -> [Sentence] -> TheoryModel Source #

Constructor for theory models. Uses the shortname of the reference address.