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 loopholes. 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 cleaner. What do people think? Should I take out Concepts? -- Rob Speer _______________________________________________ spoon-discuss mailing list spoon-discuss@xxxxxxxxx http://lists.ellipsis.cx/mailman/listinfo/spoon-discuss