Re: lisp used in game creation?

From: John Thingstad (
Date: 09/10/04

Date: Fri, 10 Sep 2004 13:36:21 +0200

On 10 Sep 2004 01:02:07 -0700, Manuel Simoni <> wrote:

> "Anon" wrote in message news:<chnmne$20s$>...
>> is Lisp used in the creation of some games??
> This page has some info about games written in Lisp, and some Lisp
> bashing:

Some of the things in this article are wrong.

>> Problems with Lisp:

>> No module/library mechanism

    First the two are hardly equivalent.
    For a module interface use defpackage.
    No support for libraries in the standard but most implementations
support the creations of DLL's.

>> Lack of types makes it difficult to understand or safely modify large
>> programs

    Types adds to the clutter of creating a program, distracting him from
the purpose.
    Having to specify types means that the data structure has to be known
up front before the
    problem is fully understood. This leads to premature optimisations and
thus to less clear
    and less efficient code.
    So in my experience it has the opposite effect.

>> Macros makes code harder to understand

    Macro's are a mechanism for providing high level abstractions related
to the
    problem at hand. Used correctly the make the code easier to understand.
    (It can not make a bad programmer produce good code.)

>> Lisp has low performance by default. Low Performance is designed into
>> the language at several levels

    Depends what you mean by default. If you need an array use an array!

>> Every variable can hold any type of data, with the type being
>> determined at run time. This makes it difficult >> to hold binary data
>> efficiently.

    (make-array size :type 'byte) ... duh

>> The typical Lisp object system is too general to be able to run quickly.

    Generality has little to do with it. More to the point is that the
class structure is
    created and modified at runtime. And yes it is slower...

>> It's hard to tell cheap operations from expensive ones.

    This is true and probably the best argument in the article.

>> Garbage Collection Pauses

    Not on any lisp I have used. The typically use a generational garbage
collector which
    eliminates most of the problem. However Java pauses on me..

Using M2, Opera's revolutionary e-mail client: