[comp.lang.lisp] answer to eval-when bug in AKCL

djb@arnold.mitre.org (David J. Braunegg) (01/04/91)

I received a reply from Bill Schelter about my eval-when question:



Date: Thu, 3 Jan 91 11:20:42 -0600
From: wfs@nicolas.ma.utexas.edu (Bill Schelter)


Only certain top level package operations get eval'd BEFORE the read of the 
big constant vector.   Because the make-package is hidden in a conditional
it is not getting read before the constant vector is read.   
Putting all package information in a separate file loaded before your other
files, seems the only portable way of getting things to work in all systems.

In akcl if you did

(in-package "ABC")
(in-package "USER")

It would have been ok.   

jeff@aiai.ed.ac.uk (Jeff Dalton) (01/25/91)

In article <127532@linus.mitre.org> djb@arnold.mitre.org (David J. Braunegg) writes:
>
>I received a reply from Bill Schelter about my eval-when question:

>Only certain top level package operations get eval'd BEFORE the read of the 
>big constant vector.   Because the make-package is hidden in a conditional
>it is not getting read before the constant vector is read.   

Wouldn't it work better of items were read one at a time, interleaved
with the evaluation of top-level forms, rather than being read all at
once as a vector?  Then the package operations would have happened by
the time they were needed, just as they do when loading source.