Received: from ATHENA-AS-WELL.MIT.EDU by po7.MIT.EDU (5.61/4.7) id AA02355; Thu, 18 Feb 93 18:17:20 EST
Received: from CECI005.MIT.EDU by Athena.MIT.EDU with SMTP
	id AA00985; Thu, 18 Feb 93 18:17:17 EST
From: aybee@Athena.MIT.EDU
Received: by ceci005.MIT.EDU (5.61/4.7) id AA08253; Thu, 18 Feb 93 18:17:14 -0500
Date: Thu, 18 Feb 93 18:17:14 -0500
Message-Id: <9302182317.AA08253@ceci005.MIT.EDU>
To: jud@Athena.MIT.EDU, aybee@Athena.MIT.EDU
Subject: "class" operator


the other day in one of my msgs i suggested that we have some kind of "class"
operator & i suggested that i might place it with the "new" and
"delete", etc operators....

to your real question: what does the class operator do?

we have said that it is necessary for editors to be able to msg class
objects.
to do this we suggested an expression of the form:
	expression => class classname
i could write a production that recognized this, but then an editor
could only msg classes known at editor parse time (ie hard-coded into
the editor).  i dont think that this is what we want.

i think that we want something more general, which would allow us to
turn any expression resulting in a string into the correspondingly
named adl class object. likewise, the expression, "class someobj" or
"class someobjHandle" might be useful to get the class associated with
an obj or a handle.  this raises the question: do we provide class
objs for integers, reals, and strings, too?  this is not the only question...

another possibility is to return a classId from any successful
"createClass()" call and requiring that the editor maintain it own
list of these ids making the form "expression => class classId" or
"expression => class nameOfClassKnowAnEditorParseTime".

you can probably take the address of an adl class obj, so i figureed
that what we might do is have a command (at the new, clone, delete
level) which took either a string expression or a known class name or
an object of a class and returned a handle to its class obj.

i still think that im not clear on this issue, but i hope that my
brief discussion of it here is enough to make you aware of what i mean
and what we need to figure out.

ab
