HLL is not against LLL

Russell Y. Webb rw20@cornell.edu
Wed, 19 Jul 1995 08:27:50 -0400

>I don't know much about FORTH but it seems very bare-bone. That
>means we'd have to do a lot of work to build it up to a high level
>language. Starting with a high level language would save this work.
>Here's my suggestion. Use Dylan as a host language for the HLL
>compiler.  Start with a free implementation and tweak it to make it
>more reflexive (allow subclassing of everything including functions).
>Now write a Dylan+ compiler in Dylan that produces machine code
>(change some back-end objects to retarget to a different platform).

>To me, being object-oriented implies being high-level. So it seems that
>we don't understand what each other means by a LLL. We should definitely
>solve that problem.
>I've seen OO extentions to Scheme which represented objects as vectors
>starting with an integer. It was unsafe and slow. But maybe these
>problems are avoided in OO extensions of FORTH. Anyway, I'm sure we
>could start from FORTH but the more bare-bone the first language,
>the more work we have to do. I'd rather not have to implement
>collections (lists, hash-tables, stretchy-vectors, ...) because
>they would very usefull if we had them in the initial language (Dylan has
>them) and implementing them is a lot of work which has already been done
>in other languages.

I don't kow much about Dylan.  Forth has the advantage of being very easily
extensible.  New compiling words can be created on the fly.  I've seen
basic OO systems added to Forth in two pages of source code (so maybe a OO
Forth is still LL).  Writing lists, hash tables, etc from scratch never has
seemed like a big deal to me when using Forth.  The ideal LL (to MidHL)
language I would recamend is a customized subroutine threaded forth with
simple objects and some robust compile time stack checking.  Such a system
could compile directly to machine code possibly using a look up file which
could be changed to match the system.

Dylan is not my strong suit.  I've read enough about most languages to feel
comfortable claiming that Forth is the most easily modified and
comprehended system out there (of the well known languages).  LISP is cool
too, but fairly abstract compared to Forth.

Russ Webb