<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; ">Greetings. I am writing regarding a post from R. Goldman last year on this mailing list. (I just today subscribed to the list.)</span><div><span class="Apple-style-span" style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; "><br></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; ">My question may already have been canvassed elsewhere. If so point me to the appropriate thread. I am not very adept at picking through the list archives, or maybe I'm just lazy....</span><div><span class="Apple-style-span" style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; "><br></span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; ">Here is the relevant quotefrom the earlier post:</span><div style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; "><br></div><div style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; "><span class="Apple-style-span" style="font-family: arial, sans-serif; -webkit-border-horizontal-spacing: 10px; -webkit-border-vertical-spacing: 10px; "><pre><blockquote type="cite">Alas, the manual does not seem to clarify this. This, I think is a
problem with the manual's design. In the discussion of DEFSYSTEM we
have two example pages, and then we have the grammar. The grammar
specifies the <i>/syntax/</i> of defsystem, but there really isn't any way to
specify the <i>/<b style="color: black; background-color: rgb(255, 255, 102); ">semantics</b>/</i> of bits of defsystem. Note that the operations
(object model) bit of the manual does <i>/not/</i> serve this purpose. It
would be OK for us to specify the <b style="color: black; background-color: rgb(255, 255, 102); ">semantics</b> in terms of those
operations, but we do not do so. If we were to do so we would need to
add a section that bridges from the syntax to the object model by
specifying how the syntax gets rewritten into the object model.</blockquote></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">I was thrilled to find this comment - it addresses my concern directly.</span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">My question is: Has anyone followed up on this? A manual section on the semantics of defsystem is <i>sorely needed</i>. I am fairly new to Common Lisp (one year). Like most developers I need some kind of system definition facility but find myself a bit exasperated learning to use asdf.</span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">My opinion (expressed with gratitude for the efforts of developers and documenters of asdf) is that Chapter 5 talks all around the thing that I most want to know, viz. "What does defsystem do?"</span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">After a couple of examples, probably the manual should then contain an informal description of defsystem semantics. I know, of course, that it means to allow one to define a "system." But how? What is the strategy, and how do the bits of the defsystem form implement that strategy?</span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">To illustrate my point, I stopped reading and started to grind my teeth a little when I hit this sentence in section 5.3:</span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">"The method-form tokens need explaining...." </span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">Probably they do need explaining. But at that point the manual has given no context in which to understand an explanation<i>. </i>The next few lines do not actually constitute an explanation in any case. (Or maybe they do. I can be dense sometimes :-) Why is it that I should want to :perform something or :explain something :after? Maybe I also want to :deep-fry something :before or :exchange-mana :around something? (Ok, now I'm being snotty...sorry.)</span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;">If I were not a relative beginner to Common Lisp I might try to contribute some draft manual sections for consideration by the maintainers. However, I fear that my efforts would only increase the turbidity level.</span></font></pre><pre><span class="Apple-style-span" style="font-family: Helvetica; white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; ">So: Has anyone followed up on this, or does someone intend to do so?</span></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;">Best,</span></font></pre><pre><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;">- Dave -</span></font></pre><div><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><br></span></font></div></span></div></div></div></body></html>