On: raising the semantic level of a program

Stan Sieler sieler at allegro.com
Sun Jun 28 02:18:40 CDT 2020


Hi Dwight,

Yes...I agree, sounds like how FORTH works.

BTW, I co-implemented a FORTH for the IBM PC, back when the first IBM PC
was released.
(Next Generation Systems FORTH ... 25% faster than the prior speed leader,
Laboratory Microsystems FORTH,
and it had a lot of nice concepts, like a true/accurate decompiler.)
My co-author was Carl Sassenrath, who then went on to write the kernel of
the AMIGA operating system,
and (later) the Rebol language.  (Carl got the inner loop down to 3
instructions vs. LM's 4 instructions :)

Re: LISP ...
Yes, particularly with the advent of BBN-LISP (later named INTERLISP, then
INTERLisp) ...  it had DWIM (Do What I Mean),
and a number of really neat things.  I co-implemented the Burroughs B6500
version on an ARPA contract circa 1973,
so I got to interact with the BBN people a lot, including Danny Bobrow
(spaghetti stacks), who had recently moved
to Xerox PARC, IIRC.
One of the things in INTERLISP was an optional package that implemented
"normal" looking arithmetic expressions,
so one could do something like:  (SETQ FOO (ARITH x * y + 3))
instead of (SETQ (FOO (+ (* x y) 3)))
(nearly 50 year old memory...it might have been higher level, like letting
me do:  (foo = x * y + 3))

I recently found a 1978 version of our INTERLISP source code!
(both the normal interpreter, and our p-code interpreter ... not sure if
the LISP-to-pcode compiler is there)

thanks,

Stan


More information about the cctech mailing list