axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Re: bootstrap Meta/Boot


From: M. Edward (Ed) Borasky
Subject: Re: [Axiom-developer] Re: bootstrap Meta/Boot
Date: Fri, 10 Aug 2007 06:44:02 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070807 SeaMonkey/1.1.4

C Y wrote:
>> -- I much prefer, as you seem to, higher-level abstractions in
>> programming languages. You may need a hierarchy of languages to get
>> there, but do you need it forever?
> 
> The bootstrap problem occurs when languages become divorced from their
> original implementations in another language - i.e. you need a working
> binary and have no source to compile to create that binary that doesn't
> require the same working binary.  If you can guarantee that you will
> always have a running cross-compiler this is workable, but it seems a
> dangerous assumption to make.

Apparently that was one of the major inspirations for the CMUCL - SBCL
transition. It was, the last time I looked, still *possible* to build
CMUCL from the ground up, but extremely difficult without an existing
CMUCL compiler.

> Interesting you should mention Forth, by the way - in the discussion of
> what constitutes the minimum path for a "hard bootstrap" on
> comp.lang.lisp Forth was suggested as a good way to get the most
> functionality for the least amount of low level machine/assembly
> coding.  I'm currently trying to track down some older work that was
> done on implementing Lisp in Forth.

I may have that buried somewhere -- at one point I acquired just about
everything I could on Forth, and I never threw it away. What was the
title/author/date? A couple of other paths:

1. I think the HP 28 / 48 / 49 series of calculators' RPL (Reverse
Polish Lisp) might be something to look at. I almost always programmed
it in the RPN form rather than the algebraic form, although it supports
both. In any case, it's a very elegant language.

2. More modern is the gForth/vmgen projects of Anton Ertl et. al. gForth
is a GNU implementation of most of ANS Forth in C. IIRC it uses some
extensions to the pure C language from gcc to provide a high-performance
option but will compile with any C. vmgen is more interesting, though.
Using a combination of gcc and gForth, it can be used to generate
efficient virtual machines/interpreters for a number of languages. Ertl
and David Gregg have published a number of papers on the subject, which
you can find at Ertl's web site.

That's one of the reasons I prefer Scheme to Lisp these days ... there
are more low-level hacks and tweaks and virtual machines and other
efficiency-oriented gizmos for Scheme than there are for Lisp.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]