8 Oct 2008 16:12
rfc - delay the parsing of system components
Gary King <gwking <at> metabang.com>
2008-10-08 14:12:00 GMT
2008-10-08 14:12:00 GMT
I just finished a rough cut of an ASDF overall that makes three largish changes: 1. delays the parsing of system components until needed by traverse. In particular, this means that the :components clause of defsystem form happens after that system's dependencies have been loaded rather than when the ASD file itself is loaded. 2. rewrites traverse as a set of methods that immediately call perform (rather than building up a list of perform actions that are then called in operate). 3. does away with :do-first and moves what it did into :in-order-to The main motivation for change #1 is to be able to define new operations and source file classes in a system's dependencies and have them used in that systems definitions; the main motivation#2 was #1: it does no good to delay parsing of the defsystem form if traverse has to complete the parse before anything else happens!. As for #3, while doing three things at once is just very human (and besides, it made #2 easier). I've got several hours of work left cleaning up loose ends and moving restarts and with-compilation-units around into better places. What I'd appreciate is any high-level feedback about the idea of these changes and whether or not I've missed some horrible interaction that nullifies the whole direction. I hope to post the suggested changes later in the week.(Continue reading)
RSS Feed