Re: What is the smallest self-hosting language?

Alan Lehotsky <qsmgmt@earthlink.net>
26 Jan 2003 16:31:15 -0500

          From comp.compilers

Related articles
What is the Simplest Programming Language? merosonox@yahoo.com (merosonox) (2003-01-04)
Re: What is the Simplest Programming Language? ed_davis2@yahoo.com (2003-01-21)
What is the smallest self-hosting language? cdc@maxnet.co.nz (Carl Cerecke) (2003-01-25)
Re: What is the smallest self-hosting language? qsmgmt@earthlink.net (Alan Lehotsky) (2003-01-26)
Re: What is the smallest self-hosting language? ed_davis2@yahoo.com (2003-01-29)
Re: What is the smallest self-hosting language? s_dubrovich@yahoo.com (2003-01-30)
Re: What is the smallest self-hosting language? idbaxter@semdesigns.com (Ira Baxter) (2003-02-05)
Re: What is the smallest self-hosting language? alexc@world.std.com (2003-02-06)
Re: What is the smallest self-hosting language? torbenm@diku.dk (2003-02-11)
Re: What is the smallest self-hosting language? peter.r.wilson@boeing.com (Peter Wilson) (2003-02-11)
[1 later articles]
| List of all articles for this month |
From: Alan Lehotsky <qsmgmt@earthlink.net>
Newsgroups: comp.compilers
Date: 26 Jan 2003 16:31:15 -0500
Organization: Quality Software Management
References: 03-01-013 03-01-106 03-01-133
Keywords: history
Posted-Date: 26 Jan 2003 16:31:15 EST

In the mid 70's, I wrote the first compiler (well it was actually an
interpreter) hosted on a VAX-11 (which at that time was one of the
ONLY two in the world - DEC's first two prototypes.)


The compiler was for a language called something like Tiny-Lisp or
Mock-Lisp, and was about 400 lines of Bliss-32 code. One of the
programs that I ran was a Tiny-Lisp interpreter (it was really only a
dozen or so lines of code - Tiny-Lisp only had a handful of
primitives. It was much more primitive than the Tiny Lisp described
in http://www.cis.rit.edu/~jerry/Software/lithp/README .


The language was so simple that arithmetic was done by counting, so
the number 3 was represented by a list with three items and to add two
numbers together you CDR-ed down the list for each operand and CONS-ed
each CAR onto a new list representing the result. Multiplication was
EXTREMELY slow. There is apparently a variant Lisp called Stutter
that is much closer to the VAX Tiny-Lisp, the sample code at
http://xarch.tu-graz.ac.at/autocad/lisp/float.slp looks a little like
what I had to do to represent arithmetic.


IIRC, the Bliss compiled code was under 4kb of object code, excluding
the terminal i/o routines - there was no VAX/VMS at that point, this
was all executing on a bare-bones machine with a DecWriter as a
console.


-- Al Lehotsky




Carl Cerecke <cdc@maxnet.co.nz> wrote:
> I found myself wondering what the smallest self-hosting language would
> look like.
  --
Alan Lehotsky <apl@alum.mit.edu>
Quality Software Management
978-287-0435 Office
978-808-6836 Cell


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.