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?
Lisp macros.
But I’d be curious of the possibilities of generating code with tree sitter.
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.
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.
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.