Re: Bootstrapping ANSI CL



On Jun 14, 6:21 pm, C Y <smustude...@xxxxxxxxx> wrote:

Or, even beyond that, go straight to the source and have someone make
a tweaked version of the CADR hardware on a chip:

http://www.unlambda.com/cadr/index.html

Now THERE's a project idea - has anyone ever considered attempting to
implement an ANSI common lisp using the MIT CADR emulator as a
starting point? I suppose if you're down to this level, you might be
able to get to design your own hardware anyway, and if the target is
lisp you might as well make your hardware to support that direction.


1. The issues of bootstrapping are only a very, very, small fraction
of the issues involved in making a good Common Lisp implementation.

2. One of the important basic issues is how to get adequate run-time
performance. Most modern CL implementations need sophisticated
compilers, clever calling conventions and memory coding, and carefully
coded garbage collectors. These are all linked together. The treatment
of multi-threading and interaction with the operating environment cuts
across all of these as well.

3. The CADR system (and its descendants) chose an architecture of a
microcoded uniprocessor, with a specialized tagged memory architecture
to solve the problem of run-time performance. They were competitive at
the time with Lisp compilers on contemporary CPUs, but further
increases in performance depended on hardware improvements to speed up
the microarchitecture, and the resulting software is very hard to port
to general purpose CPUs, as opposed to emulation layers. Once you need
an emulation layer of software, you are basically never going to beat
the Lisp implementations running without that extra layer of overhead,
so this strategy only helps preserve the investment in the original
non-portable software, while continuing to lag in performance.

It is not at all clear that such a machine could be efficiently
implemented with today's available FPGAs, for instance. I'm guessing
that, even if it is possible, such explicitly microcoded CPUs are
probably not the most efficient way to use FPGA gates, and
furthermore, even if you did, the resulting CPU would not compete very
strongly against general purpose CPUs and modern Lisp implementations.
Part of the basis for my belief is that no-one appears to be
successfully creating emulators of old DEC CPUs in FPGA hardware, and
I suppose many more people used those than Lisp Machines; another is
that CPUs designed for FPGAs generally are RISC. I could be quite
wrong.

Even projects to replicate 8-bit microcomputers tend not to give very
exciting results.

.



Relevant Pages

  • Re: Lisp and low-level operating system development
    ... assembler stub you would for a C kernel, then write some low-level code to translate the interrupt and register information on the stack into Lisp objects. ... This assumes that the nittygritty-lowlevel stuff is written in Lisp, ... CPUs for parallel execution -- probably a big asset for multi-multi-core machines, ... Lisp machines had special hardware for a reason. ...
    (comp.lang.lisp)
  • Re: Why Lisp is not popular with average programmers
    ... > used to link directly to the hardware drivers by programs ... You can link Lisp programs to C and C++ programs, ... > Networking would have been nice for the standard to mention ... > machine code you can *make* your driver conform to that ABI ...
    (comp.lang.lisp)
  • Re: a dozen cpus on a chip
    ... No nontrivial language can ever be proven to be imposible to crash. ... compilers still available which implement ISO M2. ... It is a common misconception that Lisp is always interpretted. ... various X86 machines the hardware does exist that could allow the OS ...
    (sci.electronics.design)
  • Re: Reassessing the state of Lisp
    ... Sun Microsystems SUN-1 ran Macsyma also, probably within 6 months of the release of the SUN-1. ... came from non-Lisp hardware. ... To a significant extent the people who came from a special hardware background, especially from CMU and MIT, tried to marginalize, in the common lisp committee activity, those who of us at Berkeley who were using lisp on VAX and Sun-1. ... It was clear that one could support lisp users pretty well with Sun-1 workstations Not as well as on a lisp machine (at $100k each? ...
    (comp.lang.lisp)
  • Re: Reassessing the state of Lisp
    ... Sun Microsystems SUN-1 ran Macsyma also, probably within 6 months of the release of the SUN-1. ... came from non-Lisp hardware. ... To a significant extent the people who came from a special hardware background, especially from CMU and MIT, tried to marginalize, in the common lisp committee activity, those who of us at Berkeley who were using lisp on VAX and Sun-1. ... It was clear that one could support lisp users pretty well with Sun-1 workstations Not as well as on a lisp machine (at $100k each? ...
    (comp.lang.lisp)