Julia's generated fns are like macros,but they have access to the type of fns! https://docs.julialang.org/en/latest/manual/metaprogramming/#Generated-functions-1 (Other PLs call this staged fns AIUI)
miniblog.
Related Posts
C# has an interesting concept of second-class macros called Source Generators: https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/
You can generate additional code at build time, but you can't transform existing expressions (unlike normal macros), so it's more amenable to tooling.
Linux historically used magic numbers to recognise structs being used incorrectly with void pointers. These have been increasingly replaced with type-safe macros: https://lwn.net/SubscriberLink/915163/ba83480903b82cb8/
Some of the original files were unchanged from the 90s!
Are there any noteworthy lisp dialects that don't have macros?
Macros aren't obligatory, but I'm struggling to think of any good lisp examples that lack them.
