Newsgroups: comp.lang.lisp,comp.lang.dylan
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!news.duq.edu!newsgate.duke.edu!news.mathworks.com!www.nntp.primenet.com!nntp.primenet.com!netcom.com!vrotney
From: vrotney@netcom.com (William Paul Vrotney)
Subject: Re: Inner Classes in Java
In-Reply-To: jim@lutefisk.jetcafe.org's message of 07 Nov 1996 16:57:12 -0800
Message-ID: <vrotneyE0wBzz.D5A@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <x5n2x4utt2.fsf@rsi.jhuapl.edu> <3278FF2A.7C6A@digitalideas.com>
	<jbrewer-0511961338320001@news.mcs.com>
	<32808216.4BB@digitalideas.com> <vrotneyE0Hr4t.LM4@netcom.com> <87hgn1o13r.fsf@lutefisk.jetcafe.org>
Date: Fri, 15 Nov 1996 05:16:47 GMT
Lines: 56
Sender: vrotney@netcom.netcom.com
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:23724 comp.lang.dylan:7554

In article <87hgn1o13r.fsf@lutefisk.jetcafe.org> jim@lutefisk.jetcafe.org (James Stephen Larson) writes:
In article <vrotneyE0Hr4t.LM4@netcom.com> vrotney@netcom.com (William Paul Vrotney) writes:
        ... read type Lisp machine stuff ...
> 
> That's an interesting analysis of the fate of Lisp Machines.  I always
> thought that it had to do with the advances in price/performance
> ratios of general-purpose hardware compared to special-purpose
> hardware.
> 
> If you don't compile then you forsake compile-time optimizations.  If
> you don't use an existing OS you have to spend all of your time
> writing device drivers.  If you don't use general-purpose hardware
> then you spend all of your money building soon-to-be-obsolete chips.

What makes you think that a Lisp interpreter machine has to be a special
purpose machine?  Why is an Intel 486 interpreter any more general than a
Lisp interpreter?  You can say that the Lisp interpreter machine is "higher
level", but that should make the hardware faster.  (I don't know what to say
about the RISC.  Perhaps just a temporary hardware trick, but a good one at
that :-)) The reason for building floating point functions into hardware is
to make the processor faster.  In some sense a Lisp interpreter machine is
*more* general than a 486 interpreter machine.  The sense being that it is
implemented using higher level abstractions leaving details to specific
implementations.  Implementing a Lisp *language* by contrast into hardware
and/or OS combination *would* make the machine a special purpose machine as
was done in the past.

My original analysis of the fate of Lisp Machines suggested that maybe they
were *not* true Lisp machines (whatever that means, it still needs to be
discovered, I defined it roughly by attempting to eliminate a compiler for
Lisp code).  They were great machines, but they were shall we say more like
"Lisp Assisted" machines.  For example consider the Symbolics machine
language and FEP (Front End Processor).  Another aspect of Lisp machines
that is orthogonal but sometimes confused with the hardware is the Lisp OS.
There is no reason why a new Lisp machine could not run a Unix kernel for
example.  The fact that the Symbolics had no Unix implementations (a least
no well known ones that I know of) was another aspect that gave it the
unique beast image.  Another ill fated aspect is that except for the TI Lisp
chip (and other kinds of architectures) the Lisp machines were old fashioned
hardware technlogy, now better suited to heating your home.

> 
> Avoiding general-purpose hardware and software can only doom efforts
> to use high-level languages.
> 

Exactly!  But surprisingly this could be a good thing.  Image if we could
program in either a Lisp assembly language if you will or macro expanded
language derivations.  It might be possible to eliminate many of the
problems associated with high level language compilers.  Compilers are some
of the most difficult programs to do well.  If I recall correctly I think
that Knuth left compilers for his last chapter or there abouts.

-- 

William P. Vrotney - vrotney@netcom.com
