[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Condition System Rewrite: cell-error
Date: Wed, 7 Jun 89 11:02:14 PDT
From: Richard P. Gabriel <rpg@lucid.com>
I too thought ``binding-error'' was a better name, but I've noticed
that in the glossary, tagbody tags can be bound. I think that this use
of ``bind'' is not supported by natural usage. Can someone point to a
naturally occurring document that uses it? (I am working on the
glossary now.) This means that an unseen go tag is a binding-error.
access-error doesn't have this problem.
I don't think it's a problem. unseen-go-tag really is a binding-error,
and the binding-error-name function should be accessible to the condition
object, you ask me. You might get some illumination on this (or you might
not, I'm not sure I would) by thinking about a Lisp1 instead of a Lisp5,
where the equivalent of GO was performed by calling a function because
there was no separate namespace for go tags.
I hope to make a case later that bind associates a name with an object
and to use different terminology for go tags and the like. If I
succeed, I will go for ``binding-error.''
The most recent glossary I have says that binding associates a name and
an entity. The entity/object distinction is key here. "Entity"
includes both objects and some other things that can be named but are
not objects, i.e. have no physical existence that programs can
manipulate (we might have called them metaobjects if CLOS wasn't already
using that word for something else).
If "binding" refers only to associations of names and objects, then we
need another word for association of names and non-object entities
(tags, exit points, and non-class types), and perhaps a third word for
association of a name and any kind of entity. I'd rather just use the
one word "binding" for association of a name and any kind of entity, and
not have a separate word for the union of variable binding, function
binding, and class binding. But maybe you have some other words to
suggest.