Flux toolkit as LispOS base

Mike McDonald mikemac@titian.engr.sgi.com
Fri, 02 May 1997 18:19:46 -0700


>From: "Dwight Hughes" <dhughes@intellinet.com>
>To: <lispos@math.gatech.edu>
>Subject: Re: Flux toolkit as LispOS base
>Date: Fri, 2 May 1997 18:57:15 -0500

>I very much agree -- there are actually two potential sources of Unixisms
>and crippling. The Linux/*BSD kernel is one but the other is CMUCL. No
>fault of
>theirs but it was written *for* such systems -- as a result it contains
>whatever
>compromises, workarounds, or low-level changes were necessary to get it to
>run decently on such kernels. In short, it is warped to fit a hostile
>environment.
>We must use care not to propagate this into the core of the LispOS.
>Starting
>with a mostly clean slate with the Flux OStoolkit should allow us to
>properly
>identify and correct most such problem spots.
>
>I'm not against using CMUCL, it is only that we should keep this in mind
>and
>not warp our environment to fit a tool that was warped to fit unix-style
>kernels.
>

  OK, so now we have neither an OS nor a lisp implementation, since by
definition, they all are warped by their initial design tradeoffs. So,
how long before I can see the results of (car '(a b))? (I'm
intentionally being a "bit" overly dramatic in my arguement.) When we
find a piece of CMUCL that doesn't suit our purposes, we'll have to
rip it out and put the better mouse trap in. No big deal! We have to
start somewhere and I believe that starting from the ground up is a
fatal mistake. By the time we get far enough along, the world will
have passed us by again. The only way I can see us having any hope of
"succeeding", is to follow the two pronged approach. The one prong
starts writing today using using an available Common Lisp. They start
writing all of the generic stuff that can be implemented for just
about any CL implementation. Things like window systems, a generic
networking system, and apps. The second prong looks into what it would
take to implement OS services in Lisp. What they use as their basis is
up to that group, whether it be Linux, *BSD, Flux, Hurd, or DOS. When
they have an OS working along with the appropriate CL implementation,
the apps guys port their parts over to it. Then we reexamine what we
have and redo parts of it. And then do it again. And again. All the
while building up a really neat system.

  Mike McDonald
  mikemac@engr.sgi.com