Subject: Re: temporarily setting a package
From: Erik Naggum <>
Date: 1998/04/14
Newsgroups: comp.lang.lisp
Message-ID: <>

* Sam Steingold
| I do have an in-package in the beginning of the file.

  conceptually, you should have an IN-PACKAGE in front of every top-level
  form to ensure that symbols are interned in the right package, and
  grouping several top-level forms in a single file with one IN-PACKAGE in
  front of them all is just an optimization.

| 1. have a separate file for the reduce fix: a 10 line file? ugh.
| 2. put the reduce stuff at the very end of the file: ugly.
| 3. have 2 identical in-package in the file: one in the beginning and one
| right after reduce: ugly.
| is there another way?

  I'm sorry, but I don't understand what the actual problem is.  is this
  about aesthetics, redundancy, or what?

  when I build Allegro CL images, I have a whole bunch of files,,
  which only loads other files, which are compiled, including franz-fixes,
  local-fixes, and local-extensions, as well as a site-init file that
  tweaks a number of variables and package properties so Allegro CL comes
  up without any visible CLtL1 compatibility, and some internal stuff that
  somebody complained about some time ago: that DECLAIM doesn't just expand
  to PROCLAIM forms within the appropriate EVAL-WHEN.  here's how to fix
  that minor annoyance:

(when (eq (excl::function-constant (macro-function 'declaim) 2) 'compiler::compiler-proclaim)
  (setf (excl::function-constant (macro-function 'declaim) 2) 'proclaim))

  I'm just showing this to illuminate why I don't quite understand your
  point about two IN-PACKAGE forms being ugly...  :)

  religious cult update in light of new scientific discoveries:
  "when we cannot go to the comet, the comet must come to us."