[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Loading into the current package.

    From: "BACH::GREEK" <greek%bach.decnet@hudson.dec.com>

    There is something wrong with a file that doesn't mention packages.
    This is just the rim of the compilation environment wormcan.

I think this is the key point.  I wouldn't dream of
creating a Lisp file without that -*- line at the top.
Even my programs which write Lisp files put it on there.

But I'd like to take a bite out of your wormcan.  I think
we're being silly, scaring ourselves with "compilation
environments are a hard issue."  The Europeans are tackling
it, if I understand my mail rightly, and if we just address
the specific problems, rather than throwing up our hands, I
believe we can make forward progress.

Surely we can come up with some standard syntax for
specifying this information, in a way that isn't completely
broken for systems with editors.  I see three approaches:

1) restrict IN-PACKAGE, IMPORT, and friends to be at the start
of the file, before any other forms.

2) combine this stuff into a single declarative form at the top
of the file.  (declarative = non-evaluating).

3) -*- or similar syntax.

We could also argue forever, or we could ignore the problem.
But that doesn't make IN-PACKAGE any less of a useless crock
that fails to live up to its compatibility goals.  Unless there
is a language-specification change, "portable" CL files will
only be portable in a very narrow sense, and the reader of the
Steele Grey Book won't even know there's an issue.