Re: Using SERIES

Raymond Toy <[email protected]>
Newsgroups gmane.lisp.cmucl.general
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.