[MUD-Dev] Languages for MUD drivers

Laurent Bossavit laurent at netdive.com
Tue Nov 16 03:01:55 New Zealand Daylight Time 1999

Hi all,

As my quest for the perfect M* server design continues (I've been a 
deep lurker on the list for over one year, though some of you might 
remember my interest at one time in porting LambdaMOO to Java (done, 
but not the panacea I hoped)) I am more and more convinced that the 
crucial parts are the underlying (implementation) and visible (world-
building) languages - ideally both being the same.

A lot of the issues M* server designers and implementors struggle 
with are in fact active areas of programming language research. These 
are in approximate order of importance (for M* writers!)
 - distributed processing support (for large worlds)
 - concurrent processing support (for reactive worlds)
 - object orientation (for modular worlds)
 - object persistence (as in MOO)
 - run-time mutability (aka dynamic recompilation, as in MOO/ColdC)
 - reflective capabilities (so programs can modify themselves)
 - security (to enable in-game access to world code by 'wizards')

If we assume a language with the above properties, writing a M* 
driver is almost trivial. A thin layer of network code will handle 
client connections; a command parser will probably provide the most 
challenging exercise in low-level programming, writing core 
character/monster/item classes would almost belong to the 'world 
design' category.

I've recently been looking a dozens of languages old and new to see 
if any fit the bill - I'll mention as a random selection Obliq, 
Phantom, Oz, Erlang... So far only one actively supported language 
comes really close, E (www.erights.org). It's unfortunately not quite 
finished yet - the language spec itself is still evolving and 
persistence is not implemented - but in most other respects quite 
attractive for the purposes stated above. (In fact it actually 
started out as a language specifically to support virtual 

If you agree (or disagree) with the above assessment, or have 
pointers to languages which would make good candidates for 
implementing a M* server, please speak up. ;)

Press Ctrl-Alt-Del to continue

MUD-Dev maillist  -  MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list