[MUD-Dev] Re: DevMUD considerations and the Halloween article
Jon Leonard
jleonard at divcom.slimy.com
Tue Nov 3 14:09:23 CET 1998
On Tue, Nov 03, 1998 at 08:07:47AM -0700, Chris Gray wrote:
> [Jon Leonard:]
>
> >Oh, I'm happy to volunteer (as I've said before). The questions are:
>
> OK by me. Your views seem to be less extreme than some others, so by
> my thinking that qualifies you.
Now that's a ringing endorsement. :-)
> >Despite Alan Cox's warning about discussing issues for a month before
> >coding, I still think a little more discussion is called for. Semantic
> >properties of an in-game language are comparatively undiscussed, for
> >example.
>
> The semantics of the language are governed by the run-time (and to a lesser
> extent the parser/compiler) for that language. In other words, they can
> vary depending on which modules are plugged in. Everything you do in the
> MUD scenario will be built on top of those semantics, but the core *can*
> support multiple semantics. That's one of the reasons why I haven't been
> too concerned about that issue.
Their being undecided is definitely not worrying at this point. I just
mentioned it as something I think is important that's blatantly unresolved.
There are a few design decisions I'm aware of that have far-reaching impact
on the VM design. Some undecided ones that I'm aware of:
Strong vs. Weak typing: Are types tagged to let them automatically convert
as necessary, or does the compiler guarantee correct types being
passed? Something else?
Multiple return values from functions: Do the calling convetions for
softcode allow a function to return a pair (or more) of values?
How about a variable number?
Closures: Are functions first-class values? Are continuations?
Inheritance support: Does the VM chase down an inheritance tree, or does
the compiler take care of it? Is there any inheritance at all?
Thread model: How do we deal with locking data structures, and what do we
do about deadlocks?
Exception handling: What's to be done when something doesn't match
expectations?
Security: What guarantees are made about code behavior, and how?
There's nothing keeping us from having alternate VMs, and these are possible
things that they might differ in. We should definitely decide on one model
to start with, though.
Jon Leonard
More information about the mud-dev-archive
mailing list