Bill wrote:
> I have CMU Commpn Lisp 19D.  I just downloaded and installed

Any particular reason to use 19d instead of 19e?
> 
> My problem is, I can't compile a source file which uses the SERIES
> package.  I have a simple source file with a couple of definitions in
> it, and I want to translate the loops into series functions.  First I
> tried placing the two lines above (the calls to asdf:operate and
> series::install) at the top of the file and file-compiling it; no
> good:

It would probably much easier if you just put the asdf stuff and
series::install in a separate file and loaded that first.  And define an
asdf system to load them in the right order for you.

> Then I tried the following eval-when at the top
> 
>     (eval-when (:compile-top-level :load-top-level)
>       (asdf:operate 'asdf:load-op :series)
>       (series::install))

First, it's spelled :compile-toplevel and :load-toplevel.  (Doesn't
cmucl issue any warnings about that?)  Second, I think you need 2
separate eval-whens:  one to load it, one to install it.

That works for me.

You may also want to add :execute, if you're just loading the file
instead of compiling and loading.

Finally, a bug.  If you compile the file, and then load the compiled
file in a fresh lisp, you get an error about the series package not
existing.  This is an issue in cmucl.  Do (setf c::top-level-lambda-max
0) before compiling the file.  (This is supposed to speed up fasl
loading, I think.)


Ray

Reply via email to