To clarify, I mean writing scripts that generate or modify classes for you instead of manually writing them every time, for example if you want to replace reflection with a ton of verbose repetitive code for performance reasons I guess?

My only experience with this is just plain old manual txt generation with something like python, and maintaining legacy t4/tt VS files but those are kind of a nightmare.

What’s a good modern way of accomplishing this, have there been any improvements in this area?

  • @monomon
    link
    53 months ago

    Lisp macros.

    But I’d be curious of the possibilities of generating code with tree sitter.

    • @[email protected]
      link
      fedilink
      2
      edit-2
      3 months ago

      Never tried lisp, it’s always been on my “as soon as I have an excuse to learn it” list (alongside haskell). What makes it adapted to this use case?

      For this problem I’d usually go python + jinja but I cannot say I like the experience.

      • @monomon
        link
        13 months ago

        Both languages you mentioned i highly recommend.

        Lisp macros are another level, because they are part of the language - you can use all language primitives to transform forms however you like.

        Haskell will give you a different view of programming. It’s beautiful and concise, and implements all sorts of academic research in languages. Ocaml is similar in many respects.

        • @monomon
          link
          13 months ago

          Just thought of an example. If you want to, you can open a file at macroexpansion time, and generate code based on its contents. There are no limits, pretty much.