Scheme compilers

Thu, 10 Sep 1998 11:17:44 -0400 (EDT)

On Wed, 9 Sep 1998, James A. Crippen wrote:
> Well, I hadn't admitted it yet, but I was planning to base quite a bit of
> Schema (the OS's name, if I haven't mentioned it) off of *nix concepts
> anyway. Much of the structure would be greatly different because of the
> different language paradigm, but the abstract view would be somewhat
> familiar to a *nix hacker. 

Hmm.  What's the point, then?

Seems to me that the big benefits of a Lisp OS would be:
- unilinguality -- no need to learn a dozen languages to hack it, like
  you must with Linux.  (C, make, x86 asm, sh, SPARC asm, and probably a
  few more if you want to write software that runs on it.)  Now, I like
  languages, but it seems to me that unilinguality is potentially a big
  win for new folks -- won't take them nearly as long to get up to speed.
- stability -- it wouldn't crash or Oops unless it was running on buggy
  hardware, no matter how bad the code you linked into it.
- simplicity -- you don't need a filesystem, you don't need separate
  abstractions for threads and processes, and security can be mostly taken 
  care of by the same mechanisms you use for avoiding crashes, viz. pointer
- extensibility -- you can extend things easily, on the fly, like Linux does,
  but without so much nervousness.
- writability -- it would be a lot easier to write a kernel with garbage
  collection than doing manual mm, and things like closures are nice, too.
- unified garbage collector -- so if you implement weak pointers, both the
  disk-access stuff and user programs can share the same cache, which would
  get automatically cleared out when something important needed it.
- no artificial barriers -- you don't have to worry so much about which file
  you've got something defined in, and how to share that definition with
  this other place, and whether you should just copy it or bother to create
  a new file to hold the reused functionality, etc.  (Well, I guess this might
  resurface. I guess I'd have to implement something to find out, instead
  of just talking about it.)

It seems like you'd lose all of these, except for "writability".  Have
I misunderstood?

(Also, I think that the benefits some old LispM folks remember didn't
have so much to do with the language the OS was implemented in, but
rather the excellent development environment it was implemented in.
Some of the same benefits (debuggability, traceability, source
availability, etc.) could be implemented, at least theoretically, on an
OS written in assembly.  Thoughts?)


<>       Kragen Sitaker     <>
I don't do .INI, .BAT, .DLL or .SYS files. I don't assign apps to files. I 
don't configure peripherals or networks before using them. I have a computer 
to do all that. I have a Macintosh, not a hobby. -- Fritz Anderson