Scheme/LISP systems (was Re: Scheme Efficiency)


Wed, 15 Nov 1995 22:49:39 -0500 (EST)

In article <486io2$7qb@cantua.canterbury.ac.nz>,
Greg Ewing <greg@cosc.canterbury.ac.nz> wrote:
>True, but I don't think it need be any worse than, for
>example, the TADS interpreter. So it would be possible
>to have a Scheme-based IF system that wasn't any less
>efficient than what everyone is using now.
>
>Greg

Actually, I have implemented something like this. GINAS is an
interpreted IF language, with everything being writing in interpreted
LISP (LISP, Scheme... they're bother pretty much the same as the way
I use them). It even has class system for object definition, which
allows for multiple inheritance of properties and methods for objects.

I've implemented most of Adventure, converting it from the Inform
code that someone wrote up (I forget who at the moment). Unfortunately,
I can't comment upon the speed efficiency of the system. I've only run
it on SPARC workstations of various sizes, where it runs very fast. The
slowest part of it is reading in the game code, which is written in LISP
style code, and for Adventure, it only takes a couple of seconds. I've
never been able to get the system to compile and run correctly on a PC,
since as a LISP system it requires a huge heap, and I don't have access
to a PC compiler with the brains to allocate more than a 64K heap (which
means it crashes on anything larger than a toy system).

So I don't really know how well a LISP-style system would run on a PC,
but since I've been told that a 486 box is roughly comparable to most
SPARCs, I would hazard a guess that from the performance of my personal
system, that LISP/Scheme systems for IF would not have any real
performance problems.

Anyone really interested in checking out GINAS is more than welcome to
do so. There is a link to it from my homepage (the address is in my .sig).
I considered uploading it to the if-archive at gmd several months ago,
since the interpreter itself is pretty much in a final state. However,
the defaults file is about two-thirds of the way through a significant
revision, and I've yet to find the time to finish it, and without a
defaults file, doing IF becomes much more difficult, since you end up
reinventing the wheel time and again. But anyone interested is welcome
to have a peek and make comments upon it.

-- 
----------------------------------------------------------------------------
Jeff Standish                                      The concept is simply
jestandi@cs.indiana.edu                            staggering.  Pointless,
http://www.cs.indiana.edu/hyplan/jestandi.html     but staggering.  -Dr. Who
----------------------------------------------------------------------------