From: Vax
Subject: LISP interpreter for MUD
Date: 
Message-ID: <60046@ut-emx.uucp>
I'm looking for a good Lisp interpreter for a MUD I am writing... And I must
develop a byte-code Lisp language as an 'intermediate' step from C to the
actual machine code.. ie Lisp files -are- the executables for this game...
Anyway, I was wondering which flavor of Lisp was best suited for this...
Pardon my ignorance, if any, but here is what I know of the lisps:
Pure - not very useful for a game; geared towards data manipulation
Common - this is the only one I am sort of familiar with, seems fairly useful
The "s" one - can never remember its name... seemed a bit different from CL

Anyway, I can program in Lisp, but I am not well enough versed to write a 
Lisp interpreter or a C2Lisp pseudo-compiler... can anyone tell me of a good
book to learn the -concepts- in Lisp, not the actual programming...
(ie if it were C, I would be asking where to learn pointers and pointers to 
functions, etc..)
For example, I want to know what is a generalized variable, what is a special
form.... etc...
Oh yeah, don't forget about my first question, either... what flavor?
						Vax-N/8
From: Douglas S. Rand
Subject: Re: LISP interpreter for MUD
Date: 
Message-ID: <DSR.91Oct25105408@chickpea.mitre.org>
In article <·····@ut-emx.uucp> ···@ccwf.cc.utexas.edu (Vax) writes:

   I'm looking for a good Lisp interpreter for a MUD I am writing... And I must
   develop a byte-code Lisp language as an 'intermediate' step from C to the
   actual machine code.. ie Lisp files -are- the executables for this game...
   Anyway, I was wondering which flavor of Lisp was best suited for this...
   Pardon my ignorance, if any, but here is what I know of the lisps:
   Pure - not very useful for a game; geared towards data manipulation
   Common - this is the only one I am sort of familiar with, seems fairly useful
   The "s" one - can never remember its name... seemed a bit different from CL

   Anyway, I can program in Lisp, but I am not well enough versed to write a 
   Lisp interpreter or a C2Lisp pseudo-compiler... can anyone tell me of a good
   book to learn the -concepts- in Lisp, not the actual programming...
   (ie if it were C, I would be asking where to learn pointers and pointers to 
   functions, etc..)
   For example, I want to know what is a generalized variable, what is a special
   form.... etc...
   Oh yeah, don't forget about my first question, either... what flavor?

Hmm.  Here's my take on what you might do.  For a MUD you want a
combination of a database of rooms, exits and people, specialization
of these datatypes for special kinds of rooms and a general computing
engine.  You also want to be able to hack in code for tcp/ip and support
multithreading.

You have a few choices.  Common LISP will certainly let you do all these 
things,  but it is expensive in terms of money (KCL and CMU CL are
exceptions but..),  memory, and file space.  It does have very good
native compilers but interpretive speed is somewhat de-emphasized as
people use interpreted code mostly for debugging.  Some CL may have
even gone to byte intepreters in place of intepretive code and Apple
Common LISP (used to be Allegro) at least used to only have a p-code
interpreter.

Scheme is a much smaller language then Common LISP.  There are many
PD or free schemes available.  They are also cheap in terms of disk
space and memory but lack most of the sophisticated type system of
Common LISP.  At least one, xscheme, supports an object system.  You
could add a flavor (original, not the new improved version) system
for not alot of effort in scheme.

Xlisp is from the same fellow,  David Betz,  who did xscheme.  Xlisp
actually came first.  It is modelled more as a subset of Common LISP,
and contains an object system.  

Whatever you do,  you'll need to build a database interface and a 
server interface.  You may want to marry alot of C code into one of
the LISPs,  something you can do with any of the above.

The bottom line might really be that you should examine the existing
MUD systems to see if any of them implement the kind of scripting you
have in mind.  Several of them, MOO and SMUD come to mind,  implement
object systems.

Have fun.
--
Douglas S. Rand 
Internet:   <······@mitre.org>
Snail:	    MITRE, Burlington Road, Bedford, MA 
Disclaimer: MITRE might agree with me - then again...
Amateur Radio: KC1KJ