bd on 27 Apr 2003 19:14:01 -0000

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

Re: [spoon-discuss] Why we need OO

Hash: SHA1

On Sunday 27 April 2003 02:54 pm, Rob Speer wrote:
> So, a whole lot of wins or attempted wins have come from the fact that
> the rules don't cleanly define what things _are_. Is a Charter a bunch
> of text? Is it an object that can take actions? Is it Wonko? Does it
> exist at all?
> If objects were defined by a class system, then there would be no
> question of a Charter possibly being turned into something it isn't.
> I was about to propose my OO system. The proposal is kind of large,
> because it contains a whole ton of classes - to be precise, as many
> classes as are necessary to bootstrap an OO system that is itself OO.
> The idea behind the system is that it can coexist with the ruleset, but
> eventually parts of the ruleset will be replaced such that the ClassTree
> defines what things _are_, while the Ruleset defines what they _do_.
> Now that things are all confused, I'm going to wait until the CFJs go
> through or we get things sorted out some other way (I dislike SOEs, by
> the way).
> But I'll post the current version of the proposal here. If you want to
> get to the important part, look at Thingy and Class, which define most
> of the system; Object, which almost everything will derive from; and
> Unique, a concept that has been sorely missing from the Ruleset. I'm not
> defining things like Players within it yet; this is just the foundation
> for the system, and changes like that can be proposed separately.
> __Be Objective__
> {{
> 1. Destroy the Base class, and repeal rule 1447 [[Class System]].
> 2. Create a rule:
> __Object-Orientation__
> {{
> Everything in the game is an instance of a Class, as defined in the
> ClassTree. If not otherwise specified, it is an instance of Thingy.

Nitpick: I think 'Object' would be less prone to confuse. Or 'Thing', which 
just sounds better.

> Taking X to be the name of any class: if an object is an instance of
> class X, or any subclass of X, it can be referred to as "a X" or "an X".
> }}
> 3. Create the ClassTree, which has these contents:
> {{
> Class: Thingy
> Properties:
>   * {10} It follows the Rules.

What's the number for?


> Class: ClassTree
> Inherits from: Unique, Container
> Properties:
>   * It contains the definitions of all Classes.
>   * It is publicly visible [[and for Dave's sake, it can be displayed as
>     this flat text file until we come up with a better way to display
> 	it.]]

XML would do nicely. XSLT could get it into HTML. Complete with 
cross-references, too.

> }}
> }}

Interesting. I like it.

- -- 
Lei da experiência:
    Só sabe a profundidade da poça quem cai nela.
Version: GnuPG v1.2.1 (GNU/Linux)

spoon-discuss mailing list