Replies: 1 comment 3 replies
-
I think I'm struggling to articulate this all. There are 2 issues (arguably just 1) I'm trying to bring up:
|
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Let's say we have an arbitrary
Doc
. For all of our artifacts, we use aDoc
to represent its (textual) body. TheDoc
is 'final' in the sense that it is purely text and contains no explicit links to where it came from, nor how it came to be. This notion extends to any of our chunks when created.When rendering in certain areas, we have a chunk database in scope which we rely on for chunk information. For example,
Sentence
carriesUID
s that, when rendered into aDoc
, is coupled with a 'term renderer' to pull the term of whatever chunk is associated with thatUID
. However, once we have that finalDoc
, the information of the term renderers and the originalUID
s/chunks is 'forgotten' and we can't use theDoc
to figure out what chunks it relied on when rendered. I think this whole notion extends to any of our chunks.In other areas, where we don't have that chunk database in scope, we really want one to be. For example, when creating our Doxygen configs:
(Doxygen code here, just hidden to save space, see lines 36, 55, 86)
Drasil/code/drasil-code/lib/Language/Drasil/Code/Imperative/Doxygen/Import.hs
Lines 27 to 87 in 2372a12
For another example, without our chunk database in scope, we have "string" (chunks rendered about some function, really) duplication/hard-coded (hence PRs like #3642) in our
Doc
s or other various chunks.@smiths created the image (which I often use) that shows how various artifacts (such as constants, terms, authors, etc.) are shared against a particular originating SRS. I suppose a part of my question with this discussion post is: how can we actually show that same image without needing to manually trace the relations ourselves?
To get this traceability information, I get the feeling that we either (a) want some sort of 'lazy' variant of each of our chunks that we can use to calculate that traceability information, (b) want to use some TemplateHaskell-magic to calculate this information for us [this sounds like it would be brutal], or (c) just want features of Haskell that we can't have.
Beta Was this translation helpful? Give feedback.
All reactions