two co-existing projects
Mon, 28 Apr 1997 17:56:38 -0700
>To: Mike McDonald <mikemac>
>Subject: Re: two co-existing projects
>Date: Mon, 28 Apr 1997 20:26:29 -0400
>From: Richard Coleman <firstname.lastname@example.org>
>> Franz has a full featured version of their Allegro Common Lisp (ACL)
>> available for Linux for a great price, just the asking!(*) Now, it
>> doesn't include sources for the lisp system but I don't think we need
>> that at this point. There's plenty to do before we need to muck with
>> the lisp compiler. Eventually, we'd probably want to transition to a
>> completely free implementation like CMU-CL. Maybe by then we could get
>> the cons.org guys signed up to make the changes necessary. (cons.org
>> is where the guys who ported CMU-CL to Linux hang out.)
>Hmm... I would think source code availability would be a necessity
>fairly soon. Rather than make the transition, why not just do that
>up front? That way, kernel types can work on that at the same time
>that applications folks (which includes me) can start adding things
The apps folks can start this very minute! Well, as soon as they
hash out some of their problems, that is.
I don't think you'd need the sources very soon. Most of the initial
work is defining interfaces and building upon them. Very few of those
interfaces would require initial compiler support. Adding compiler
optimizations at a later times most probably would. For instance, a
web browser. It would require that the networking and window system
interfaces be designed. Those interfaces could be implmented on top of
the existing interfaces that ACL provides. Later, when the TCP/IP
stack is rewritten in lisp, the networking interface would use that
instead of the native ACL interface. File system code would happen in
the same manner. First, apps use the existing (open ...) definitions.
When a file system has been implemented in lisp, then switch (open ..)
to use that interface. The app doesn't what file system is underneath.
Eventually, when enough new features are implemented, you'll want to
remove the original ACL definitions. Then you'd need the base sources
but I wouldn't sweat them until then.
>What about Eulisp? It has threads support. The FAQ doesn't mention
>a Linux version, but says that it should be easy to port.
Well, my version of the FAQ says (it could be old and out of date):
EuLisp is sort of like an extended Scheme. The program is a C-based
interpreter, and a bytecode interpreter/compiler will be available
Seems kind of silly to use a Lisp that requires a C compiler to
build a LispOS. Samething goes for CLISP.