Rob Speer on 29 Apr 2003 02:43:01 -0000

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [spoon-discuss] Why we need OO

On Mon, Apr 28, 2003 at 06:42:35PM -0400, Daniel Lepage wrote:
> But anyway, why do we need to define our own version of '3'? 3 is an 
> object; but does not need to be defined as one in the context of the 
> Nomic, as it is defined as one in the larger scope of Real Life.

The thing is, you could have a list of Gnomes (in a Gnome Bag), or you
could have a list of numbers. So numbers have to be some sort of type to
make this consistent.  We could leave it off at the Value type and let
English define the rest, I suppose, except that we have some values that
are not so simple to define, like Names.

My name should be a value, and something that can be referred to within
the OO system, but should not be an Object on its own. If I change my
name, is it a new object? Where does the old one go? This is why I have
the Concept system. Concepts are immutable constructs that just hang
around until we need to use one.

The more important distinction is that Objects can do stuff, while
Concepts just exist. "3.times()" is a neat concept for programming, but
it's dangerous when you consider things like
"(the concept of Rob winning the game).happen()" or
"100.beOrc'sCharm()". The rules could be carefully constructed to
prevent these, but that would be a lot of effort and would probably have

As it is in my system, (the concept of Rob winning the game) is indeed a
Thingy. It could perhaps be an instance of HypotheticalSituation, if
there were such a class. It doesn't actually make anything happen, and
it can't. It just exists.

If Concepts were not OO at all, then I couldn't say "everything in the
game is a Thingy". The letter 'B' is certainly in the game (hell, it
could arguably be the first thing that was ever in the game). I just
think that putting _everything_ in the OO system makes things generally

What do people think? Should I take out Concepts?
Rob Speer

spoon-discuss mailing list