>>>>> "Robert" == Robert Dodier <robert.dodier at gmail.com> writes:
>> Well, to keep with CL, we'd have to distinguish between : and :: (or @
>> and @@). This could be beneficial, too, for maxima. Then package
>> writers could decide what functionality to export to users and which
>> are internal, just like CL.
Robert> I don't think there's much reason to imitate the CL package system
Robert> in a user-level namespace system. (I've deliberately chosen the word
Robert> "namespace" to prevent people from thinking there is some necessary
Robert> connection.) The CL package system is pretty strange, and, aside from
Robert> the fact that it's built into the language in which Maxima is programmed,
Robert> doesn't have much to recommend it. IMNSHO.
I think you should clarify how this namespace thing works or is
intended to work. Your wiki page makes it sound very similar to CL
packages. I don't see how it differs.
Robert> For a user-level system, we should pick out the features we'd like
Robert> to see, then figure out how to implement that in CL.
Robert> I don't see a need to go backwards; I'm pretty sure only a small
Robert> fraction of Maxima users know anything about Lisp, and a smaller
Robert> fraction know about the CL package system.
Just because they don't know doesn't mean they shouldn't. :-)
If I had my wish, I'd make the maxima language lexical, and fix (or
replace) the translator so that it actually works for anything the
user might do, so that maxima can be compiled to Lisp and ultimately
to machine code if your Lisp can do that.
Then ditch as much of the internal Lisp stuff as possible and
implement everything in maxima. Right now, I tend to write stuff in
Lisp because it's easier for me to understand, and I already know
Lisp, but don't really know maxima.
Ray