another topic (which language to use)

David Gadbois gadbois@cyc.com
Fri, 25 Apr 1997 10:07:42 -0500 (CDT)


I argue for using Common Lisp.

Advantages:

o Standardized object system, exception handling, bit-banging, other
libraries.

o Semi-standardized thread and FFI APIs.

o Existing big and useful system applications (CLIM, CLX, CL-HTTP)

o Existing OSes to use as examples (or counter examples!)

Disadvantages:

o Relative paucity of off-the-shelf implementations to use (CMUCL,
clisp, GCL).  On the other hand, for a full-blown OS, the actual
language implementation is a pretty small part of the hole shebang.

o The Scheme folks really hate it.

BTW, a couple of folks have advocated using call/cc over stack groups.
I don't understand this.  Assuming we want a traditional thread
scheduler (we do, don't we?), you still have to have all the API cruft
to register continuations and manage priorities.  How do you deal with
continuations in the presence of dynamically scoped exception
handlers?  And what about locking?

--David Gadbois