On 8/23/05, Kevin Reid <kp...@at...> wrote:
> This was going to be a lengthy message on how to make a capability
> Lisp, but I haven't thought of anything further to say, so:
>=20
> The Obvious Thing, to me, to do to the package system to remove the
> global namespace aspect of it is to use symbols as package names.
Oh that's a plenty good place to start, and should be quite a bit of
work to start with! We almost have to fix that first I'd think.
> (read-from-string "foo::bar")
>=20
> would internally do something like
>=20
> (intern "BAR" (get (intern "FOO" *package*) 'package))
>=20
> , so it is entirely relative to the current package. (The above code is
> showing only this change - I expect that GET and *PACKAGE* would be
> modified in some way as well.)
>=20
> This eliminates the package system as a specific problem, reducing it
> to the general existing problem of mutable symbol-keyed namespaces.
Which sounds like a much better place to work from to me.
By the way, as one could perhaps surmise from the cc line of this
message, I've created the caplisp-devel mailing list and it's
associated sourceforge project, as I'm familiar with their systems,
it's free, and it feels more and more all the time that the caplisp
folks on cap-talk/e-lang need a dedicated forum to hash out nitty
gritty technical nuts and bolts on a lisp-heavy list where the amount
of parens would probably exceed the sanity threshold of many
e-lang/cap-talk subscribers!
Not all by any means, so interested parties please head over to
http://lists.sourceforge.net/lists/listinfo/caplisp-devel to
subscribe!
Project info (not much more than licensing info at this point) can be found=
at:
http://sourceforge.net/projects/caplisp
I wasn't planning on making any wider mention of it until we have at
least SOMETHING to show the world in the form of running code.
I'd imagine that at the very least Kevin and James should be
interested in paren heavy hacking! And I'm certain there will be lots
of cap-talk/e-lang crossposting at times to refine some of the finer
points in capability discipline, things about already solved problems,
and all around general cap head scratching from time to time.
Cheers,
David Mercer
Tucson, AZ
|