Self is not against Forth [was: Re: HLL is not against LLL]

Billy Tanksley
Tue, 1 Aug 1995 17:20:34 -0700 (PDT)

On Mon, 31 Jul 1995, Rainer Blome wrote:

> >>> But they are unextensible, unadaptable LLLs. I prefer
> >>> using some FORTH-like LLL, so it can adapt to the hardware (easy to
> >>> add words written in assembly) [...]

> why should it be easier to assembly-write forth words than code for other
> languages, e.g. self methods?

I know very little about self.  All I know is that the easiest language 
to assembley-extend is Forth, probably because it's so simple.  It's also 
one of the easiest languages to write an assembler in.

> patrick wrote:
> >> Writing the HLL compiler in a language without an object system makes
> >> it more difficult to modify.

> you replied:
> > Why wouldn't objects be expressed easily in some proper extension to
> > the LLL ? See object extensions to FORTH (MOPS, OOF).

> i don't know these extensions, just i don't want the objects to be an
> extension.  i want objects all the way down like patrick does.

Watch out.  MOPS is not an OO extension; it is an OO Forth.  That's what 
we want.  Like you say, objects all the way down.

> maybe the two paradigms are not that far from each other.  can we integrate
> them?  let's see!

You mean the paradigms of extention and "objects all the way down"?

>   would a forth that uses objects for stacks still be a forth?

>   not really.  a forth with multiple stacks (each one representing an
> object) and some way to name stack positions would be changed beyond
> recognition.

Who said anything about that?  You only need a couple of extra 
structures, such as a message queue for each object.  You certainly don't 
need a seperate stack for each object (except in the sense of 
multitasking, which is invisible).  And OO certainly has no requirement 
to name satck positions-- OO doesn't even require a stack.

>   without names for words, there'd be no word stack.  you'd have to know
>   where the word is in the stack world.  (i assume that forth compilers
>   work by inlining the stack index of words by looking them up at
>   compilation time.  is that true?  requires the depth of stacks to be
>   immutable.)

Word stack?  Stack world?  Stack index of words?  What?  Is this talking 
about self or Forth?

> rainer