[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: MAKE-PACKAGE-USE-DEFAULT (split from PACKAGE-CLUTTER)
- To: Jon L White <jonl@lucid.com>
- Subject: Issue: MAKE-PACKAGE-USE-DEFAULT (split from PACKAGE-CLUTTER)
- From: masinter.pa@Xerox.COM
- Date: 23 Sep 88 01:19 PDT
- Cc: cl-cleanup@sail.stanford.edu
- In-reply-to: Jon L White <jonl@lucid.com>'s message of Fri, 23 Sep 88 00:18:50 PDT
(I thought I'd mailed this, but apparently I left it pending while I rewrote
PACKAGE-CLUTTER. Since I'm hoping to split out the default from :USE from the
issue of what's actually in the Lisp package, I've put this under a different
Issue name.
- - - - - - - -
One of the complaints I hear frequently about Common Lisp is how non-portable it
is -- how people with Common Lisp code had to work really hard to port their
stuff from Vendor 1 to Vendor 2 even on the same machine, and that it must be
really not a very good language definition compared to C. I usually think this
is backward, and isn't CL great how it is even portable across machines with
different word sizes.
But then I get to issues like this, where if you write a simple program that
says
(in-package "FROB")
(defun draw-line (x y) ...)
that when they go to port it to Vendor y, they find out that their simple
program crashes the graphics package because draw-line now has the wrong
arguments. "I meant FROB:DRAW-LINE, not some LU-GRAPHICS:DRAW-LINE."?
I think this is the same argument that Kent made, so I won't belabor it. Maybe
the lines are drawn fairly clear. Its a tradeoff of encouraging portability vs
convenience for users of a specific implementation.