Self is not against Forth [was: Re: HLL is not against LLL]
Billy Tanksley
tanksley@mailhost2.csusm.edu
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
-Billy