On Fri 18 Mar 2011 22:16, Noah Lavine <noah.b.lav...@gmail.com> writes:
>> The problem is that modules are resolved at compile-time, in addition to >> run-time, so there just can’t be circular dependencies. > > It's true that a module couldn't depend, at compile-time, on a module > that was only available at run-time. However, I think we could handle > circular dependencies as long as all of the modules involved were > available at compile-time. I would even say that this is one more > instance of the general principle that people shouldn't have to do > things that computers are able to do for them - in this case, you > shouldn't have to manually order your syntax definitions and uses when > your computer can do a graph search for you. While I'm sympathetic to the sentiment here, the case you present (and the PEG case; about which more tomorrow) is as Ludovic described it: modules depending on each other at compile-time. `define-module' and `use-modules' resolve their interfaces both at expand-time and at run-time. -- http://wingolog.org/