Maxime Devos <maximede...@telenet.be> wrote: > For an example in the wild, see > e.g. > <https://git.gnunet.org/gnunet-scheme.git/tree/gnu/gnunet/message/protocols.scm>.
Thanks (to Jean as well) for all the suggestions. Can you point me to an example of where include/sexp is used? To take a step back, my ultimate goal is to have a separate module system, where code libraries are identified by their full pathname rather than an abstract name applied to %load-path. It's similar to include in that way, but the loaded code goes into its own module and only certain bindings are imported, as with :select from use-modules. Each file is loaded only once per run, and typically doesn't change between runs, so somehow it ought to work with compilation enabled. I'll try playing around with include, eval-when, and datum->syntax to see if I can get something working, but if the extra context brings anything else to mind, more suggestions are welcome too. This feels like it would be trivial if the module system had a little more of its guts exposed.