MetaProgramming In LLVM "Blocks"

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.

  • Author
    Posts
  • #115220

    josh

    Domain 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 language

    II. 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…

    • #115221

      josh

      Q: 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.

  • #115222

    josh

    From 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.

  • #116315

    josh

    Starting 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.

You must be logged in to reply to this topic.