Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Defines types and functions for creating models.
Synopsis
- data ModelKind e = MK {}
- data ModelKinds e where
- NewDEModel :: DifferentialModel -> ModelKinds e
- DEModel :: RelationConcept -> ModelKinds e
- EquationalConstraints :: ConstraintSet e -> ModelKinds e
- EquationalModel :: QDefinition e -> ModelKinds e
- EquationalRealm :: MultiDefn e -> ModelKinds e
- OthModel :: RelationConcept -> ModelKinds e
- newDEModel :: String -> NP -> DifferentialModel -> ModelKind e
- deModel :: String -> NP -> RelationConcept -> ModelKind e
- equationalConstraints :: String -> NP -> ConstraintSet e -> ModelKind e
- equationalModel :: String -> NP -> QDefinition e -> ModelKind e
- equationalRealm :: String -> NP -> MultiDefn e -> ModelKind e
- othModel :: String -> NP -> RelationConcept -> ModelKind Expr
- newDEModel' :: DifferentialModel -> ModelKind e
- deModel' :: RelationConcept -> ModelKind e
- equationalConstraints' :: ConstraintSet e -> ModelKind e
- equationalModel' :: QDefinition e -> ModelKind e
- equationalRealm' :: MultiDefn e -> ModelKind e
- othModel' :: RelationConcept -> ModelKind e
- equationalModelU :: String -> QDefinition e -> ModelKind e
- equationalModelN :: NP -> QDefinition e -> ModelKind e
- equationalRealmU :: String -> MultiDefn e -> ModelKind e
- equationalRealmN :: NP -> MultiDefn e -> ModelKind e
- setMk :: ModelKinds e -> Setter' DifferentialModel a -> Setter' RelationConcept a -> Setter' (ConstraintSet e) a -> Setter' (QDefinition e) a -> Setter' (MultiDefn e) a -> a -> ModelKinds e
- elimMk :: Getter DifferentialModel a -> Getter RelationConcept a -> Getter (ConstraintSet e) a -> Getter (QDefinition e) a -> Getter (MultiDefn e) a -> ModelKinds e -> a
- lensMk :: forall e a. Lens' DifferentialModel a -> Lens' RelationConcept a -> Lens' (ConstraintSet e) a -> Lens' (QDefinition e) a -> Lens' (MultiDefn e) a -> Lens' (ModelKinds e) a
- getEqModQds :: [ModelKind e] -> [QDefinition e]
Types
ModelKinds
carrier, used to carry commonly overwritten information from
the IMsTMsGDs.
Instances
Idea (ModelKind e) Source # | Finds the idea of the |
NamedIdea (ModelKind e) Source # | |
Defined in Theory.Drasil.ModelKinds | |
ConceptDomain (ModelKind e) Source # | Finds the domain of the |
Defined in Theory.Drasil.ModelKinds | |
Definition (ModelKind e) Source # | Finds the definition of the |
Defined in Theory.Drasil.ModelKinds | |
Express e => Express (ModelKind e) Source # | Rewrites the underlying model using |
Defined in Theory.Drasil.ModelKinds | |
HasUID (ModelKind e) Source # | |
Defined in Theory.Drasil.ModelKinds | |
RequiresChecking (ModelKind Expr) Expr Space Source # | Expose all expressions that need to be type-checked for theories that need
expose |
Defined in Theory.Drasil.ModelKinds |
data ModelKinds e where Source #
Models can be of different kinds:
NewDEModel
s represent differential equations asDifferentialModel
sDEModel
s represent differential equations asRelationConcept
sEquationalConstraint
s represent invariants that will hold in a system of equations.EquationalModel
s represent quantities that are calculated via a single definition/QDefinition
.EquationalRealm
s represent MultiDefns; quantities that may be calculated using any one of manyDefiningExpr
s (e.g., 'x = A = ... = Z')FunctionalModel
s represent quantity-resulting function definitions.OthModel
s are placeholders for models. No newOthModel
s should be created, they should be using one of the other kinds.
NewDEModel :: DifferentialModel -> ModelKinds e | |
DEModel :: RelationConcept -> ModelKinds e | |
EquationalConstraints :: ConstraintSet e -> ModelKinds e | |
EquationalModel :: QDefinition e -> ModelKinds e | |
EquationalRealm :: MultiDefn e -> ModelKinds e | |
OthModel :: RelationConcept -> ModelKinds e |
Instances
Constructors
newDEModel :: String -> NP -> DifferentialModel -> ModelKind e Source #
Smart constructor for NewDEModel
s
equationalConstraints :: String -> NP -> ConstraintSet e -> ModelKind e Source #
Smart constructor for EquationalConstraints
equationalModel :: String -> NP -> QDefinition e -> ModelKind e Source #
Smart constructor for EquationalModel
s
equationalRealm :: String -> NP -> MultiDefn e -> ModelKind e Source #
Smart constructor for EquationalRealm
s
othModel :: String -> NP -> RelationConcept -> ModelKind Expr Source #
Smart constructor for OthModel
s
newDEModel' :: DifferentialModel -> ModelKind e Source #
Smart constructor for NewDEModel
s, deriving UID+Term from the DifferentialModel
deModel' :: RelationConcept -> ModelKind e Source #
Smart constructor for DEModel
s, deriving UID+Term from the RelationConcept
equationalConstraints' :: ConstraintSet e -> ModelKind e Source #
Smart constructor for EquationalConstraints
, deriving UID+Term from the ConstraintSet
equationalModel' :: QDefinition e -> ModelKind e Source #
Smart constructor for EquationalModel
s, deriving UID+Term from the QDefinition
equationalRealm' :: MultiDefn e -> ModelKind e Source #
Smart constructor for EquationalRealm
s, deriving UID+Term from the MultiDefn
othModel' :: RelationConcept -> ModelKind e Source #
Smart constructor for OthModel
s, deriving UID+Term from the RelationConcept
equationalModelU :: String -> QDefinition e -> ModelKind e Source #
Smart constructor for EquationalModel
s, deriving Term from the QDefinition
equationalModelN :: NP -> QDefinition e -> ModelKind e Source #
Smart constructor for EquationalModel
s, deriving UID from the QDefinition
equationalRealmU :: String -> MultiDefn e -> ModelKind e Source #
Smart constructor for EquationalRealm
s
equationalRealmN :: NP -> MultiDefn e -> ModelKind e Source #
Smart constructor for EquationalRealm
s, deriving UID from the MultiDefn
Lenses
setMk :: ModelKinds e -> Setter' DifferentialModel a -> Setter' RelationConcept a -> Setter' (ConstraintSet e) a -> Setter' (QDefinition e) a -> Setter' (MultiDefn e) a -> a -> ModelKinds e Source #
Map into internal representations of ModelKinds
elimMk :: Getter DifferentialModel a -> Getter RelationConcept a -> Getter (ConstraintSet e) a -> Getter (QDefinition e) a -> Getter (MultiDefn e) a -> ModelKinds e -> a Source #
Retrieve internal data from ModelKinds
lensMk :: forall e a. Lens' DifferentialModel a -> Lens' RelationConcept a -> Lens' (ConstraintSet e) a -> Lens' (QDefinition e) a -> Lens' (MultiDefn e) a -> Lens' (ModelKinds e) a Source #
Make a Lens
for ModelKinds
.
Functions
getEqModQds :: [ModelKind e] -> [QDefinition e] Source #
Extract a list of QDefinition
s from a list of ModelKinds
.