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
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
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
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
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
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
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
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)
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
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