The authors of all those systems call it metaprogramming, more or less. Metaprogramming is a very general term, and there many varieties of it.
Once you get past the syntax and specific technologies, you'll see that many of these systems have a similar structure, and you could probably do a line-by-line port of solve_linear_system() to those systems. I think Scala LMS is probably the closest one.
https://news.ycombinator.com/item?id=19013437
The authors of all those systems call it metaprogramming, more or less. Metaprogramming is a very general term, and there many varieties of it.
Once you get past the syntax and specific technologies, you'll see that many of these systems have a similar structure, and you could probably do a line-by-line port of solve_linear_system() to those systems. I think Scala LMS is probably the closest one.