This page is part of the web mail archives of SRFI 83 from before July 7th, 2015. The new archives for SRFI 83 contain all messages, not just those from before July 7th, 2015.
On Mon, 12 Dec 2005, Jim Blandy wrote: >In other words, the fact that libraries may export macros requires a >tight enough binding between one compilation and the next that the >compiler can also silently pass whatever static information it likes >about a library's exports to libraries that import it. > >(I think. It's late.) The problem is, that tight a binding presents problems for truly separate compilation. Inter-module macrology is *THE* barrier, IMO, to truly large lispy-language systems because it makes it necessary to have all source visible to compile any source. I don't have a solution for scheme. The fact is that macros and functions in scheme are different in kind, and function definitions can allow real separate compilation (where the call is compilable without reference to the definition) and macro definitions can't. Changing that is possible in a lispy language, but it would require changing the fundamental semantics of evaluation, or doing some variation of runtime macroexpansion, or both. Bear