
Racket’s language tools make it easy to build a great compiler, but, to my knowledge, they are tied to languages built on Racket. Has there been any work on using ideas from Racket’s macro/language system to make general compiler tools?

I’m not sure exactly what you mean by “general compiler tools”, but a few examples: http://matt.might.net/papers/ballantyne2014metameta.pdf\|http://matt.might.net/papers/ballantyne2014metameta.pdf https://arxiv.org/abs/2005.09028\|https://arxiv.org/abs/2005.09028 https://dl.acm.org/doi/10.5555/3005729.3005736\|https://dl.acm.org/doi/10.5555/3005729.3005736

I had in mind the way that Racket abstracts over things like variable naming and handles binding forms nicely. Although, some more reading of the docs makes me think that I underestimated the flexibility of Racket’s language tools.