-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom Names for Chunks Built from QDefinitions #1829
Comments
I think @smiths should 'listen in' to this one too. But I think everyone on the team gets these notifies, i.e. all who watch the repo. I think what's going on here is that, conceptually, there is a 'refinement', or at least a 'use' step going on, which isn't really reflected in the code. What I mean is that we have a theorem (Chasles' Theorem) in our knowledge base, and we want to use it to compute something (a velocity at point B in this case). We're kind of falling into the use-mention distinction trap (https://en.wikipedia.org/wiki/Use%E2%80%93mention_distinction). In other words, there are two very distinct concepts involved here: Chasles's Theorem, which ought to exist 'independently', and its use, to create a particular new definition. The question in the comment thread asked if the new construction was 'too hacky': and the answer seems to be 'yes'. Not because what it does is wrong, as it's not! Operationally, it does the right thing. What is wrong is the name, and thus its conceptualization: we need a name that indicates that we are making use of a particular concept to refine it into something entirely new, to be used in a new context. |
This discussion reminds me of our refinement discussion from the beginning of the summer. For instance, Theoretical Models are refined to General Definitions through the use of assumptions. Chasles' theorem is refined from a general theorem for any vector to specific vector. We also have an example in the notion of generic mathematical vector operations applied to specific vectors, as discussed in #1814. I'll put this down for discussion in tomorrow's (Thursday's) all hands meeting. |
This explains things related to #2937 quite well. I'll return to this one too. |
Sometimes, it is desired to have the label of a theory chunk be different than the quantity it outputs. An example of this comes from #1815, where the calculated result is the "velocity at point B", but it uses "Chasles' theorem", which is the desired name for the chunk.
In the TM version of this chunk (again from #1815), it was easy to set the custom name, since TMs are built from
RelationConcept
s, which take a name for the RC (and by extension the theory chunk) as the parameterrTerm
, which was used to set the name of the TM as follows:Drasil/code/drasil-lang/Language/Drasil/Chunk/Relation.hs
Lines 27 to 29 in 4e99823
Drasil/code/drasil-example/Drasil/GamePhysics/TMods.hs
Lines 116 to 118 in 4e99823
So the question really boils down to "Should we add this same functionality to
QDefinitions
, and if so, how would that best be accomplished?" This discussion originated from this comment thread, which is on the code where my proposed solution of added the functionality can be found.The text was updated successfully, but these errors were encountered: