Re: Variables

Mark Waks ([email protected])
Fri, 2 Jun 95 16:20:24 EDT


>I see your point, but I think you could murder a few birds with one arrow if
>you look at it as "Named Objects", where an Object can be a node, a set of
>node or an entire (.wrl) file. Finding a soloution using this constraint
>yields a much less specific soloution that can be used in many different
>ways.

Intriguing. More examples?

> I
>usually think of a class as a compile time entity and an object as a runtime
>one.

I don't think that's really fair. Classes have a real runtime
existence in any language that permits dynamic instantiation (which
includes every language I can think of off the top of my head). The
*purpose* of a class is to define a template for a collection of
related, usually parameterized objects. (And generally with a
programmatic interface; we'll get to *that* with behaviours.) That
seems to match the notion here pretty well, IMO.

(If you *really* want to see classes hum, take a look at Ada 95,
where they play a very real and important role in polymorphism...)

>In the Example, IceCreamCone works much more like an Object (or even
>more accurately an Aggregate Object made up of "using" relationships) or a
>DEF that can have active reference to it in the form of USE.

Well, there are some ways I disagree. First, IceCreamCone is *not*
itself a renderable object in the graph -- it's much closer to the
concept of the "PASSIVE DEF"'ed objects just proposed. (I am assuming
that IceCreamCone is not intended to be rendered when "NAME"ed, since
it leaves a number of slots open.)

Also,
> If IceCreamCone
>were a class it would need the same sort of definable data slots or
>behaviour that TransformSeparator (for example) has.

But it *does* have them -- specifically, the radius and height
parameters. I don't see what these are if *not* slots; they match
the concept quite well.

> In other words, after
>defining IceCreamCone, you cannot instantiate it with varying parameters
>such as radius, rototation, translation and so forth. I don't think I did a
>very good job of providing a clear explaination, so if I have botched my
>comments beyond cognition, let me know and I'll try again.

I don't think I'm understanding you -- if I grok the original proposal,
IceCreamCone is intended for *just* instantiation. I think I see what
you're saying, but I think that either one or the other of us is
misunderstanding Nathan's proposal. (Specifically, I think you may
actually *be* talking about variables -- but I don't *think* Nathan
was...)

-- Justin

Random Quote du Jour:

"It's back to Hell for you, Yakin. And you will be punished for your
arrogance -- you will oversee the lawyers..."
"*No*! No! no..."
-- from Deadman