[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)
Niklas Elmqvist
d97elm at dtek.chalmers.se
Thu Oct 22 13:30:04 CEST 1998
On Wed, 21 Oct 1998, Chris Gray wrote:
> [I hope I'm not too out-of-date on my responses here!]
Bah! As if that has ever bothered me, me being approximately 8 hours out
of sync compared to most of you :)
> [Niklas Elmqvist (me!):]
> >I agree. The GC-part is not a must, but would be nice. However, if we do
> >want it, it should be something we add from the beginning, yes?
>
> I suspect it would have to be. If we want non-programming-gurus to be
> able to write scripts directly in the language, they shouldn't have
> to worry about allocation/freeing of things. So, either garbage collection
> (something I know very little about) or reference counting should be
> used (are there other alternatives?). We should be clear about just
> what it is we are keeping track of, however. In a system like Java,
> it is all sorts of things, all kept in system memory, that are GC'ed.
> The other component that needs keeping track of is the database. As an
> example, in my system it is only the database entities that are ref-counted,
> since there isn't anything else that can dynamically be created. I
> keep all code, arrays, strings, tables, grammars, etc. in the database,
> so that makes sense. PDMud will be different, no doubt, so the question
> will have a different answer. However, I suspect that answer needs to
> be settled before a lot of other questions can be asked.
You have a valid point. GC or ref counting seems almost vital viewed in
this light. Oh, and if we want to support things like the Mage2Mage spell
design language being compiled to PDMud (which would be kinda neat since
it would allow you to quite effortlessly associate objects and stuff with
SDL code, thus making them magical), it is a must.
> >Admittedly, you need *some* kind of coordination between modules. The
> >ParserModule must know the acceptable commands supported by the
> >other modules (or does it? Maybe this could be polled by a message from
> >the ParserModule: "Okay, send me your command grammars along with a way of
> >packaging this into a request you can capture.").
>
> I'd suggest you do it the other way around. The various modules like
> client graphics control, magic, movement, on-line building, etc. all
> tell the parser what actions they have, and the words for them, etc. The
> parser then uses this information to figure out what the user is trying
> to do. When it is successful, it simply calls the methods associated
> with the actions that it has decided on.
Well, since the PDMud module community (at least the way I view it) is a
very volatile one (all modules should be prone to be replaced/unloaded at
any time as well as new ones being added), the Parser module would have to
initiate this by doing a broadcast message along the lines of "parser
here, to whoever it concerns: tell me your supported requests and
triggers, over" or something. *Then* the modules respond in turn, telling
the parser what kind of methods they support.
The same kind of query sequence would have to be performed for all modules
which want the attention of others. "Oi! I'm here and I can handle
this:..."
> Chris Gray cg at ami-cg.GraySage.Edmonton.AB.CA
-- Niklas Elmqvist (d97elm at dtek.chalmers.se) ----------------------
"The trouble with being a god is that you've got no one to
pray to."
-- Terry Pratchett, Small Gods
More information about the mud-dev-archive
mailing list