The LispOS Project: a position paper, part 1

Scott L. Burson gyro@zeta-soft.com
Mon, 26 May 1997 01:43:04 -0700 (PDT)


   From: Mike McDonald <mikemac@titian.engr.sgi.com>
   Date: Mon, 26 May 1997 01:02:11 -0700

   >So I think we just need to accept that it may take some time for a consensus
   >to emerge on goals and strategy.  It certainly doesn't bother me that this
   >can't be pinned down in a month.  And even once we select a strategy, there
   >will be many details to attend to.  Better to invest some thought up front
   >than to get to the middle and discover it's not going to work the way we
   >thought.

     I completely disagree with this point.

Okay, fine.  Have at it then -- don't let me stop you :-)

     Personally, I'd be overjoyed if we could reproduce the LispM
   environment in a relatively short span. It would still be leaps and
   bounds ahead of the alternatives. But given the lack of experience of
   the participants with respect towards LispMs, I doubt too many others
   hold my beliefs.

I love the LispMs dearly, I used them for years (starting when there were only
about 7 of them), I own two of them (they make great space heaters :-) ... but
I still don't think this is a good plan, unless it were extremely easy to
carry out, which it's not.

Anyway I think we can do a lot better, considering we have the benefit of
almost 20 years of hindsight.  The computing world has come a long way since
Greenblatt built CONS.

   >Case in point: Java and Dylan.  I gather Dylan existed before Java (at least,
   >I heard of it some time earlier).  The two languages have some very similar
   >goals and design philosophies.  But Java is apparently going to make it in the
   >marketplace while Dylan appears to be dead.  Why?  Applets.  Gosling
   >identified and targeted an application for which no existing technology was
   >acceptable.  There was no such "killer app" for Dylan.

     Attempting to "divert" someone else's killer niche with our
   "superior technology" is doomed to failure. The existing technology is
   already identified with that niche and no one will see any reason to
   switch. If you want wide acceptance, you're going to have to find your
   own "killer app".

That was rather my point.  I wasn't suggesting we, or Dylan, should try to
grab someone else's niche.

   >So perhaps the first question to ask is, Who is the intended audience for
   >LispOS?  This deserves some discussion.  I see a few groups who might be
   >served:

     I'd put myself in another catagory, those who loved the LispM
   experience and wish they had some approaching it.

Well okay, but it's fair to ask you what you thought was so great about it,
and which of its properties you would like to see replicated.  I think you
could be more specific than merely calling yourself a Romantic.

   >The academic community has already picked up on Scheme to some extent.  A
   >high-quality implementation with some important new features (like
   >persistence) would surely garner some acceptance.  Still, I don't know what
   >the potential market is here.  If I were a CS professor teaching Scheme, I
   >would almost certainly switch to Java immediately.  (Of course LispOS could
   >support Java -- more on that later.)

     You'd only switch if your institution was a trade school instead of
   a University. But then most institutions that call themselves
   Universities are in reality nothing but glorified trade schools,
   chasing the latest industry fad instead of teaching thinking.

I beg to differ.  I think Java is more than a "fad".  Having written a couple
thousand lines of code in it, I think it's a very nice language indeed, with a
number of important concepts in it which are not part of Scheme, notably its
emphasis on the object-oriented model, its exception handling (influenced by
CLU), and concurrency.  Java 1.1 even has anonymous classes, which can be used
much like lambda expressions.  So the only significant things I'm giving up
(as a hypothetical instructor) by switching to Java are macros and firstclass
continuations.  (Both of those happen to be things I need for my AI research,
but I think that's a relatively rare situation.)  In short, I think I would be
doing my students a favor intellectually as well as practically by switching.

I have seen Lispers bashing Java on Usenet.  This strikes me as very strange.
To me, Java *is* Lisp in C clothing, with a few other goodies thrown in.  I
celebrate it and hope it does great.  It sure beats the hell out of C++!

-- Scott