Re: XCVB, a replacement for ASDF
"Robert P. Goldman" <[email protected]> Sun, 01 Jun 2008 20:09:37 -0500
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Organization | SIFT, LLC |
| Message-ID | <[email protected]> |
Faré wrote: > Dear Lisp hackers, > > I know that it's a time when everyone is thinking about replacing > ASDF, so here's my contribution to this maybe preposterous endeavor. > I'd like to get your feedback on this write-up I made (attached) about > this project I'm working on with an intern at ITA. > > Also, if you know other people I should be talking to regarding this > topic, or webpages or papers I should have read, please point me to > them. I apologize for being so late answering, but I have been writing lisp code! I am intrigued by this proposal, and it leads me to consider some of the areas where I have had trouble with ASDF. I hope these are helpful: 1. There is no way to wrap some actions around all of the operations performed on a module; I believe that this is because we consider the perform on a parent component to be done after the performs on all of its sub-components 2. The test operation's semantics are unclear. What should happen when one tests a component? What is the contract the implementer should be making with user of the test system? Should the test operation hurl errors? It cannot return values. Should it write output somewhere for later inspection? If so, where should that output be written? Ideally, we should find a contract that would accommodate the use of many different testing frameworks. 3. There is no way to make operations return values. Maybe this is not a problem, but there should be some way to get reports out of an operation. A problem with this is that anything ASDF writes may be lost in gobs of compiler chatter. 4. It would be nice if there were some clear relationship between packages and asdf systems. This relates to: 5. The system definition should support documentation operations. a. The relationship to 4 arises because there are several documentation systems that support documenting packages, and some that support documenting ASDF systems (actually, I can only think of Gary's, which I believe to involve having to do extensive groveling over the ASDF system in question). If the package/system relationship were clarified, that might help. b. Documentation operations should include at least generating documentation *and accessing it*. If one uses a system definition system to find the source files, one should also use it to find the documentation files. Currently, it is quite possible that one can easily load a system, but not be able to find its documentation without unseemly rummaging through the file system. 6. We should do something more intelligent with macros and other constructs that affect compilation. It should be possible for a system implementor to say "if you recompile system A, you must recompile all systems that depend on system A, since system A defines macros." Something finer-grained would be great, but this seems like an absolute minimum. 7. I believe it should be easier to affect the operation-chaining. So, for example, if one introduces some sub-class of compilation operations at a system, one might wish to propagate these operations up the dependency chain. Perhaps some rethinking of make-sub-operation would be helpful. Best, Robert -- Robert P. Goldman Senior Scientist Smart Information Flow Technologies (d/b/a SIFT, LLC) 211 N. First St., Suite 300 Minneapolis, MN 55401 Voice: (612) 384-3454 Email: [email protected] ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/