Still bound to the lfe expression syntax though. Could go the ‘rocket’ way and just have a declaration at the start of a file to define the #lang
of it or so, then the whole file is fed into a properly named function on that given ‘lang’ module name, which then returns the syntax for further processing? It ‘scopes’ such DSEL’s to a given file and makes it obvious which it is at the top as well.
Plus this way you don’t have to stop the reading of the stream to pass to something, instead it happens at file load time, just need a little hook before the usual parsing starts to see if there is a #lang
entry on the first line or two and dispatch to that instead (which of course requires that language module to be compiled first, like as a dependency or so).