[MUD-Dev] Re: DevMUD considerations and the Halloween article

Jon Leonard jleonard at divcom.slimy.com
Tue Nov 3 14:09:23 New Zealand Daylight Time 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 mailing list