-
Notifications
You must be signed in to change notification settings - Fork 25
Concept Chunk (and Related Chunks)
Warning: Wiki should not be edited directly. Edit the files in the ./wiki/ folder instead and make a PR.
ConceptChunk
: an IdeaDict
with a definition (Sentence
) and a domains(s) ([UID]
)
-- | 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.
data ConceptChunk = ConDict { _idea :: IdeaDict -- ^ Contains the idea of the concept.
, _defn' :: Sentence -- ^ The definition of the concept.
, cdom' :: [UID] -- ^ Domain of the concept.
}
makeLenses ''ConceptChunk
CommonConcept
: a common idea (CI
) with a definition (Sentence
)
-- | Contains a common idea ('CI') with a definition ('Sentence').
-- Similar to 'ConceptChunk', but must have an abbreviation.
data CommonConcept = ComConDict { _comm :: CI, _def :: Sentence}
makeLenses ''CommonConcept
ConceptInstance
: a ConceptChunk
with a reference address (String
) and a ShortName
-- | 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.
data ConceptInstance = ConInst { _cc :: ConceptChunk , ra :: String, shnm :: ShortName}
makeLenses ''ConceptInstance
An IdeaDict
is a NamedChunk
that might have an abbreviation (Maybe String
). A CI
is a NamedChunk
with an abbreviation (String
) and a domains(s) ([UID]
). What is the point of differentiating between an idea with and without an abbreviation? In my mind, it would be easier to use one chunk that might have an abbreviation (Maybe String
), but I know we are trying to move away from Maybe
s when possible. However, I don't know enough about lenses to know if there's another way around this. Is keeping IdeaDict
and CI
separate intentional? Should they be merged? It seems like there is some work being done on this, from this discussion and the issue about using Lens
es instead of Maybe
s.
One quirk of CI
is that it takes a domain(s) Even though it's been pointed out that domains shouldn't be added at the Idea
level. However, ConceptChunk
chunk that takes an IdeaDict
also takes a domain(s), so the domain(s) are almost implicitly associated with the IdeaDict
. Should the domains be added up a level by whatever chunk is using the CI
instead of being in the CI
itself? What conditions cause a chunk to require a domain(s)?
Interestingly, IdeaDict
is also present in QuantityDict
, which is present in ConstrainedChunk
and UnitaryChunk
, where the former is also present in UncertainChunk
. None of these types are given domains, although they have similar chunks with domains (as shown below):
Chunk | Similar Chunk | Has Domain from... |
---|---|---|
UncertainChunk |
UncertQ |
ConstrConcept |
ConstrainedChunk |
ConstrConcept |
DefinedQuantityDict |
UnitaryChunk |
UnitalChunk |
DefinedQuantityDict |
QuantityDict |
DefinedQuantityDict |
ConceptChunk |
So all of these chunks get a domain from ConceptChunk
, which is just a CommonConcept
with a domain(s) and definitely (as opposed to Maybe
) has an abbreviation, where CommonConcept
is just a CI
with a definition (Sentence
).
- Home
- Getting Started
- Documentation (of Drasil specifics)
- Design
-
Readings
- Drasil Papers and Documents
- Related Work and Inspiration
- Writing Documentation
- Compression as a Means to Learn Structure
- Glossary, Taxonomy, Ontology
- Grounded Theory
- Model Driven Scrapbook
- Model Transformation Languages
- ODE Definitions
- The Code Generator
- Suggested Reading
- Sustainability
- Productivity
- Reuse
- Formal Concept Analysis
- Generative Programming
- Software Documentation
- Units and Quantities
- Misc.
- WIP Projects