Running Unix programs under LispOS
Fri, 2 May 1997 15:49:58 -0600
Mike McDonald writes:
> >Date: Fri, 2 May 1997 11:30:07 -0600
> >From: "P. Srinivas" <firstname.lastname@example.org>
> >To: CsO 3335 <email@example.com>
> >Subject: Re: Running Unix programs under LispOS
> >This is what I was also thinking. Instead of the horrible
> >monolithic Linux kernal, we are better of the Hurd along with
> >micro kernal.
> >Another note: People are suggesting that we start with linux
> >and slowly re-implement all the linux in LISP.
> >Unix coded in LISP will still be UNIX not a LISPOS.
> >We should try not to duplicate all the garbage of Unix. We should
> >start with small micro kernal or a nano-kernal (is there any such
> >thing?) and provide a very simple and powerful OS interface.
> I don't believe anyone was seriously suggesting that we reimplement
> Unix in Lisp. I certainly wasn't. The idea is to start doing useful
> work today on the part that don't need direct OS support. As more and
> more of the system is functional and there's a need, replace services
> provided by the Unix kernel with Lisp based ones. Not ones that
> provide identical interfaces but better ones in terms of what lisp
> wants. As an example, networking. We can start today by implementing a
> generic networking layer in lisp that works on top of the existing
> Unix socket/streams interface. Lisp apps would then be written to use
Now that is the problem. When we start with the initial choice of
working on UNIX, we will invariable making decisions based on
that goal. In the design of the generic networking layer, we tend
to make many commitments that would not be needed otherwise.
If we can come up with a very detailed design WITHOUT making
commitments because of the goal of running on UNIX, and then
try to glue it onto the existing UNIX with some
throw away glue layer. It might work. But there are many
pitfalls. We probably are better of placing the generic layer
on a very small kernel (may be such as Flux toolkit) than the
full blown Unix.
> LispOS based upon Unix -> native LispOS w/o Unix -> native LispOS
> with other OS compatibility, including Unix
> I'd guess a lot of people would avoid the middle step, but it's
> necessary. But that can be limited to the die hard types. I believe we
> need the Unix environment inorder for us to bootstrap the LispOS. It's
> really nice to have things like editors, news readers, Email while
> writing things like editors, news readers, and Email. It also allows
> us to use more people's talents. Not everyone wants to hack the kernel
> code. (I know, it's hard to believe!) While the kernel types work on
> their thing, the apps types can work on their's. Then, when the kernel
> is ready, maybe there will be something to run on it.
We can certainly use Linux as our DEVELOPMENT environment. In the
same way FSF uses GNU/Linux for developing Hurd OS. Until we get
to the level of LISPOS bootstrapping itself, we can do a "cross
development". But we should be careful as to what choices and
commitments we are making.