From: Kent M Pitman
Subject: [admin] Pitman's world.std.com site has moved
Date: 
Message-ID: <wkptg484jj.fsf@nhplace.com>
Sorry for posting this piece of personal administrative business here
on the newsgroup, but there are a lot of visitors to my site on a
daily basis so I figured I should put a pointer to this information in
a central place.

My email address ······@world.std.com continues to work for a bit longer
but will evaporate suddenly in the fairly near future.  Please use the
address that you find on my posts here (······@nhplace.com) from now on.

My web site http://world.std.com/~pitman/ is going away very soon,
and already only contains shadow 404 pages telling you that you've 
lost and where to go instead.

If you have public web pages or private bookmark pointers into my old
web site, now is the time to click on them find the page telling you 
where the page has moved to.  That helpful functionality will stop
working when I drop the account at world.std.com.
In most cases, you just change
    http://world.std.com/~pitman/whatever.html
to
    http://www.nhplace.com/kent/whatever.html
and you'll get what you're looking for, but there are a couple of
notable exceptions.

Thanks to the many people who've shown an interest in my pages,
and for helping to keep the pointers to it up to date.
 --Kent

From: Kenny Tilton
Subject: ASDF help
Date: 
Message-ID: <EARqb.52302$Gq.11107007@twister.nyc.rr.com>
SourceForge or something is being bad and won't let me in to grab the 
readme doc for ASDF, but this should be an easy one:

(asdf:defsystem :cells
   :name "cells"
   :author "Kenny Tilton <·······@nyc.rr.com>"
   :version "05-Nov-2003"
   :maintainer "Kenny Tilton <·······@nyc.rr.com>"
   :licence "MIT Style"
   :description "Cells"
   :long-description "The Cells dataflow extension to CLOS."
   :serialize t
   :perform (asdf:compile-op :after (op c)
              (print `(after compile op ,op :c ,(component-pathname c)))
              (load (component-pathname c)))
   :components ((:file "cells")
                (:file "flow-control")
                  ....etc....

1. I just switched over to serialize from the default parallel.

2. That :perform option is a lame, dysfunctional attempt to solve...

3. ASDF just compiles, it does not load. Ahem. I put in "serialize" 
because one file often depends on preceding guys being loaded.

Either there is an easier way to do this, or I just need that :perform 
option fixed (seems to ne a NOP since I do not get the debug print), or...

thx, kenny

ps. it all worked dandy before I put in serialize, ie, ASDF loaded after 
compiling. Maybe I do not understand what they mean by serialize?

k

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Kenny Tilton
Subject: Re: ASDF help
Date: 
Message-ID: <NJRqb.52303$Gq.11110438@twister.nyc.rr.com>
Kenny Tilton wrote:
> SourceForge or something is being bad and won't let me in to grab the 
> readme doc for ASDF, but this should be an easy one:
> 
> (asdf:defsystem :cells
>   :name "cells"
>   :author "Kenny Tilton <·······@nyc.rr.com>"
>   :version "05-Nov-2003"
>   :maintainer "Kenny Tilton <·······@nyc.rr.com>"
>   :licence "MIT Style"
>   :description "Cells"
>   :long-description "The Cells dataflow extension to CLOS."
>   :serialize t
>   :perform (asdf:compile-op :after (op c)
>              (print `(after compile op ,op :c ,(component-pathname c)))
>              (load (component-pathname c)))
>   :components ((:file "cells")
>                (:file "flow-control")
>                  ....etc....
> 
> 1. I just switched over to serialize from the default parallel.
> 
> 2. That :perform option is a lame, dysfunctional attempt to solve...
> 
> 3. ASDF just compiles, it does not load. Ahem. I put in "serialize" 
> because one file often depends on preceding guys being loaded.

Output up to and including the beginning of the fallout from not loading:

; Loading C:\dev\cells\cells.asd
  dir: C:\dev\cells\; defaults C:\dev\cells\; file C:\dev\cells\cells.asd
  dir: C:\dev\cells\; defaults C:\dev\cells\; file C:\dev\cells\cells.asd
;;; Compiling file C:\dev\cells\cells.lisp
;;; Writing fasl file C:\dev\cells\cells.fasl
;;; Fasl write complete
;;; Compiling file C:\dev\cells\flow-control.lisp
;;; Writing fasl file C:\dev\cells\flow-control.fasl
;;; Fasl write complete
;;; Compiling file C:\dev\cells\strings.lisp
;;; Writing fasl file C:\dev\cells\strings.fasl
;;; Fasl write complete
;;; Compiling file C:\dev\cells\detritus.lisp
;;; Writing fasl file C:\dev\cells\detritus.fasl
;;; Fasl write complete
;;; Compiling file C:\dev\cells\cell-types.lisp
; While compiling (:TOP-LEVEL-FORM "cell-types.lisp" 1319):
Warning: Free reference to undeclared variable C- assumed special.
Warning: Free reference to undeclared variable WAKING-STATE assumed special.
Warning: Free reference to undeclared variable MODEL assumed special.
Warning: Free reference to undeclared variable SLOT-SPEC assumed special.
Warning: Free reference to undeclared variable VALUE assumed special.

...etc until a hard error puts me in a backtrace.

kenny

> 
> Either there is an easier way to do this, or I just need that :perform 
> option fixed (seems to ne a NOP since I do not get the debug print), or...
> 
> thx, kenny
> 
> ps. it all worked dandy before I put in serialize, ie, ASDF loaded after 
> compiling. Maybe I do not understand what they mean by serialize?
> 
> k
> 

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Kenny Tilton
Subject: Re: ASDF help
Date: 
Message-ID: <4WRqb.52304$Gq.11115716@twister.nyc.rr.com>
Kenny Tilton wrote:

> 
> 
> Kenny Tilton wrote:
> 
>> SourceForge or something is being bad and won't let me in to grab the 
>> readme doc for ASDF, but this should be an easy one:
>>
>> (asdf:defsystem :cells
>>   :name "cells"
>>   :author "Kenny Tilton <·······@nyc.rr.com>"
>>   :version "05-Nov-2003"
>>   :maintainer "Kenny Tilton <·······@nyc.rr.com>"
>>   :licence "MIT Style"
>>   :description "Cells"
>>   :long-description "The Cells dataflow extension to CLOS."
>>   :serialize t
>>   :perform (asdf:compile-op :after (op c)
>>              (print `(after compile op ,op :c ,(component-pathname c)))
>>              (load (component-pathname c)))
>>   :components ((:file "cells")
>>                (:file "flow-control")
>>                  ....etc....
>>
>> 1. I just switched over to serialize from the default parallel.
>>
>> 2. That :perform option is a lame, dysfunctional attempt to solve...

This works:

(defmethod asdf:perform :after ((op asdf:compile-op) c)
   (print `(after compile op ,op :c ,(asdf:component-pathname c)))
   (load (asdf:component-pathname c)))

And I see the problem with the above: the perform method generated is 
specialized on the (eql <system instance>).

So I need a new option, one that won't make me sick...

kenny


-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Daniel Barlow
Subject: Re: ASDF help
Date: 
Message-ID: <87d6c399nw.fsf@noetbook.telent.net>
Kenny Tilton <·······@nyc.rr.com> writes:

> ps. it all worked dandy before I put in serialize, ie, ASDF loaded
> after compiling. Maybe I do not understand what they mean by serialize?

I'm not sure.  But I'm pretty sure I didn't understand the rest of
your post(s).  :serialize t means that each component gets an 
if-a-is-changed-then-b-must-be-recompiled dependency on each other
component that precedes it.  If this doesn't sound relevant to your
problem, whatever it is, then rip it out again.

I usually arrange stuff such that most of the files only really depend
on two or three files (defpackage, common macros, maybe a class
definition) in this way, just so that a change to file 29 won't
need to recompile 30 thru 43.


-dan

-- 

   http://web.metacircles.com/cirCLe_CD - Free Software Lisp/Linux distro
From: Kenny Tilton
Subject: Re: ASDF help
Date: 
Message-ID: <R2Uqb.52313$Gq.11172823@twister.nyc.rr.com>
Daniel Barlow wrote:
> Kenny Tilton <·······@nyc.rr.com> writes:
> 
> 
>>ps. it all worked dandy before I put in serialize, ie, ASDF loaded
>>after compiling. Maybe I do not understand what they mean by serialize?
> 
> 
> I'm not sure.  But I'm pretty sure I didn't understand the rest of
> your post(s).  :serialize t means that each component gets an 
> if-a-is-changed-then-b-must-be-recompiled dependency on each other
> component that precedes it.  If this doesn't sound relevant to your
> problem, whatever it is, then rip it out again.

No, that is what I want.

> 
> I usually arrange stuff such that most of the files only really depend
> on two or three files (defpackage, common macros, maybe a class
> definition) in this way, just so that a change to file 29 won't
> need to recompile 30 thru 43.

yeah, I know. But I was going crazy with dependencies (Cells works in 
part by having macros write macros which then get used all over) and the 
asdf file was looking ridiculous, so I punted.

My problem is that with :serialize t, ASDF just compiles but does not 
load each file, so later compiles do not actually "see" necessary 
definitions from earlier files.

Hmm, is this a bug report? Burdick swears it compile and loads as it 
goes, but I saw otherwise (but I might have screwed something up).

kenny

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Kenny Tilton
Subject: Re: ASDF help
Date: 
Message-ID: <AdUqb.52314$Gq.11176360@twister.nyc.rr.com>
Kenny Tilton wrote:

> 
> 
> Daniel Barlow wrote:
> 
>> Kenny Tilton <·······@nyc.rr.com> writes:
>>
>>
>>> ps. it all worked dandy before I put in serialize, ie, ASDF loaded
>>> after compiling. Maybe I do not understand what they mean by serialize?
>>
>>
>>
>> I'm not sure.  But I'm pretty sure I didn't understand the rest of
>> your post(s).  :serialize t means that each component gets an 
>> if-a-is-changed-then-b-must-be-recompiled dependency on each other
>> component that precedes it.  If this doesn't sound relevant to your
>> problem, whatever it is, then rip it out again.
> 
> 
> No, that is what I want.
> 
>>
>> I usually arrange stuff such that most of the files only really depend
>> on two or three files (defpackage, common macros, maybe a class
>> definition) in this way, just so that a change to file 29 won't
>> need to recompile 30 thru 43.
> 
> 
> yeah, I know. But I was going crazy with dependencies (Cells works in 
> part by having macros write macros which then get used all over) and the 
> asdf file was looking ridiculous, so I punted.
> 
> My problem is that with :serialize t, ASDF just compiles but does not 
> load each file, so later compiles do not actually "see" necessary 
> definitions from earlier files.
> 
> Hmm, is this a bug report? Burdick swears it compile and loads as it 
> goes, but I saw otherwise (but I might have screwed something up).

Yikes. I was using version 1.55. where serialize is ignored. Just 
grabbed 1.79. serialize is gone.

never mind. :)

kenny

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Christophe Rhodes
Subject: Re: ASDF help
Date: 
Message-ID: <sqekwjp14r.fsf@lambda.jcn.srcf.net>
Kenny Tilton <·······@nyc.rr.com> writes:

> Yikes. I was using version 1.55. where serialize is ignored. Just
> grabbed 1.79. serialize is gone.

Is your problem solved?  I've been using :serial t in (note, not
:serialize) in clx and mcclim without problems.

Christophe
-- 
http://www-jcsu.jesus.cam.ac.uk/~csr21/       +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%")    (pprint #36rJesusCollegeCambridge)
From: Kenny Tilton
Subject: Re: ASDF help
Date: 
Message-ID: <fV5rb.56547$Gq.11524519@twister.nyc.rr.com>
Christophe Rhodes wrote:
> Kenny Tilton <·······@nyc.rr.com> writes:
> 
> 
>>Yikes. I was using version 1.55. where serialize is ignored. Just
>>grabbed 1.79. serialize is gone.
> 
> 
> Is your problem solved?  I've been using :serial t in (note, not
> :serialize) in clx and mcclim without problems.

Oh, OK, thx. I tried serialize, but that was in 155 where it was 
ignored. When I grabbed 179 I just looked for serialize and when I did 
not find it I just figured they had taken "ignore" to a new level. 
Instead, they implemented and renamed at the same time.

Well, I do not really want :serial, I want ASDF to compile (if nec) and 
load things in the order shown, /and/  honor inter-file dependencies by 
treating dependents as changed when a dependency changes.

Instead, it only loads where it sees a dependency. But given:

a.lisp:
   (defclass house ()())

b.lisp:
   (defmacro with-house (house)...

c.lisp:
   (defmethod phone-home ((h house) &key from)...
      (with-house (h)....

C cannot be compiled until A is loaded, but it does not necessarily
need to be recompiled if A changes.

I'll hack ASDF and/or submit an RFE.

kenny

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application
From: Rob Warnock
Subject: Re: ASDF help
Date: 
Message-ID: <AmudnVMFXbgIfCuiXTWc-w@speakeasy.net>
Kenny Tilton  <·······@nyc.rr.com> wrote:
+---------------
| Well, I do not really want :serial, I want ASDF to compile (if nec) and 
| load things in the order shown, /and/  honor inter-file dependencies by 
| treating dependents as changed when a dependency changes.
| 
| Instead, it only loads where it sees a dependency. But given:
| 
| a.lisp:
|    (defclass house ()())
| 
| b.lisp:
|    (defmacro with-house (house)...
| 
| c.lisp:
|    (defmethod phone-home ((h house) &key from)...
|       (with-house (h)....
| 
| C cannot be compiled until A is loaded, but it does not necessarily
| need to be recompiled if A changes.
+---------------

Perhaps what you want is ASDF's :IN-ORDER-TO specifier. Try this:

    (:file "c" :in-order-to ((compile-op (load-op "a"))))


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Kenny Tilton
Subject: Re: ASDF help
Date: 
Message-ID: <%TDtb.179287$pT1.139297@twister.nyc.rr.com>
Rob Warnock wrote:
> 
> Perhaps what you want is ASDF's :IN-ORDER-TO specifier. Try this:
> 
>     (:file "c" :in-order-to ((compile-op (load-op "a"))))

Yes, that works, thx.

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

Your Project Here! http://alu.cliki.net/Industry%20Application