› Forums › Personal Topics › Unbidden Thoughts › MetaProgramming In LLVM "Blocks"
This topic contains 4 replies, has 1 voice, and was last updated by
josh June 14, 2022 at 5:51 am.
-
AuthorPosts
-
May 21, 2022 at 8:19 pm #115220

joshDomain kind of comparison – Parametric specs for running a given output device from within the application program – in what language realm do the specs themselves exist???
Candidates:
I – Combo of English, C Preprocessor files/includes, C languageII. Abstract Metaprogramming Language, Modelling Ref Language, Hardware Spec, perhaps some English
III. Metaprogramming language that maps to LLVM IR + Hardware Spec, Modelling Ref Language that maps to LLVM IR (portable), perhaps some English
Can’t say what is best in ever case, but III might feel tighter for some projects or a good start for others. See…
-
May 21, 2022 at 8:29 pm #115221

joshQ: Rust vs C?
Those are both procedural approaches. The MetaProgramming paradigm tries to choose declarative or procedural abstractions depending on which is simpler or clearer, with the believe that for compex programs, sets of declarative claims are easier to check & comprehend than purely procedural code. The implementation itself still becomes procedural/Von Neumann like so II vs. III is about how much subjectivity/flexibility & chance of failure to solve at desing time is in that mapping to procedure.
-
-
May 21, 2022 at 10:58 pm #115222

joshFrom the POVv of Metaprogramming & writing lots of lower level tests, this approach can add a bi-directional search that completes the work faster with less new effort. Longer term, it’s helpful to have a full modular stack from specs to low level chunks that automagically get selected & reused.
Either way, the application still has to focus on what makes this spatio-temporal pattern of inputs/outputs a correct implementation of the app idea – perhaps creating correct performance wrt to models that express reusable, parameterized beliefs about use case environments.
-
June 14, 2022 at 5:51 am #116315

joshStarting from Metaprogramming, it would be appealing if design plans for arrays & structures could include the abstract notion of a “checked memory offset value” that ultimately became instantiated in the most efficient way that fit with the rest of the code instantiation choices – compile time constants are derived from design formulas & runtime values for arrays are derived to fall within the specified range of valid addresses, based on parametric coordination in the design. Or else, they become a runtime check.
-
AuthorPosts
You must be logged in to reply to this topic.