Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Influences on Moore & other Qs

32 views
Skip to first unread message

Alex McDonald

unread,
May 30, 2006, 12:23:58 PM5/30/06
to
The Forth language entry at http://en.wikipedia.org/wiki/Forth is
getting another update. I've read
http://www.forth.com/resources/evolution/index.html, and that's
provoked some questions for clf.

What languages influenced Moore during his development of Forth;
specifically, did he model Forth on, or was he influenced by exposure
to, any then-extant language?

What programming paradigm
(http://en.wikipedia.org/wiki/Programming_paradigm) would Forth belong
in? What would Moore have considered it?

What languages did Forth subsequently influence, if any?

Does anyone have a photograph of Moore that they would be willing to
allow use of under the GFDL, CC or other similar licence, or have a
verifiably public domain picture of Moore?

On a separate but related subject; is the cover image of "Starting
Forth" copyrighted? (I am assuming yes.)

Thanks in advance.

--
Regards
Alex McDonald

Elizabeth D Rather

unread,
May 30, 2006, 3:25:03 PM5/30/06
to
"Alex McDonald" <alex...@btopenworld.com> wrote in message
news:1149006238.5...@i40g2000cwc.googlegroups.com...

> The Forth language entry at http://en.wikipedia.org/wiki/Forth is
> getting another update. I've read
> http://www.forth.com/resources/evolution/index.html, and that's
> provoked some questions for clf.

Thanks for letting us know. I reviewed recent changes briefly, and they
look pretty good.

> What languages influenced Moore during his development of Forth;
> specifically, did he model Forth on, or was he influenced by exposure
> to, any then-extant language?

At the time, the language 'everybody' used was Fortran. However, Chuck was
mostly reacting against Fortran rather than modeling an "improved" version
of it. The main influence was in the naming of DO ... LOOP, I, J, etc.
Forth's "pictured" output number formatting is very loosely modeled on
COBOL's pictured formatting. Almost everything else was derived from first
principles, based on what he felt he needed.

> What programming paradigm
> (http://en.wikipedia.org/wiki/Programming_paradigm) would Forth belong
> in? What would Moore have considered it?

Chuck was never a computer scientist, and I think he resisted the notion of
'programming paradigms' and pigeonholing languages in one or another.

> What languages did Forth subsequently influence, if any?

I'd love to know the answer to this. Possibly Postscript.

> Does anyone have a photograph of Moore that they would be willing to
> allow use of under the GFDL, CC or other similar licence, or have a
> verifiably public domain picture of Moore?

There's a photograph in the 'Evolution of Forth' article. IMO linking to
that article would be appropriate. The picture itself isn't really public
domain, at least no more than any other picture on the internet ;-)

> On a separate but related subject; is the cover image of "Starting
> Forth" copyrighted? (I am assuming yes.)

As much as the rest of the book. Actually, Leo and I both hate that image.

Cheers,
Elizabeth

--
==================================================
Elizabeth D. Rather (US & Canada) 800-55-FORTH
FORTH Inc. +1 310-491-3356
5155 W. Rosecrans Ave. #1018 Fax: +1 310-978-9454
Hawthorne, CA 90250
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

John Passaniti

unread,
May 30, 2006, 4:18:53 PM5/30/06
to
Elizabeth D Rather wrote:
> At the time, the language 'everybody' used was Fortran. However, Chuck
> was mostly reacting against Fortran rather than modeling an "improved"
> version of it. The main influence was in the naming of DO ... LOOP, I,
> J, etc. Forth's "pictured" output number formatting is very loosely
> modeled on COBOL's pictured formatting. Almost everything else was
> derived from first principles, based on what he felt he needed.

It was my understanding from past conversation in comp.lang.forth that
exposure to Lisp played at least some part in the development of Forth.
Certainly two aspects of Lisp (interactivity and extensibility)
couldn't have escaped his notice.

Forth also wasn't the only interactive interpreted extensible language
at the time, and I wonder what role (if any) Smalltalk and Doug
Engelbart's NLS may have had, if any.

>> What programming paradigm
>> (http://en.wikipedia.org/wiki/Programming_paradigm) would Forth belong
>> in? What would Moore have considered it?
>
> Chuck was never a computer scientist, and I think he resisted the notion
> of 'programming paradigms' and pigeonholing languages in one or another.

Just because he didn't frame his views in terms of paradigm doesn't mean
that Forth itself can't be classed in with other languages. Forth is
clearly an imperative procedural language. One can certainly extend
Forth into other paradigms but that doesn't mean Forth itself can be
classed in those paradigms.

Forth more obviously doesn't follow the object-oriented paradigm,
although it has the primitives needed to implement object-based systems,
and there are plenty of extensions available to add it.

> There's a photograph in the 'Evolution of Forth' article. IMO linking
> to that article would be appropriate. The picture itself isn't really
> public domain, at least no more than any other picture on the internet ;-)

I don't see the value of a picture of Charles Moore in a page about
Forth. I would certainly see the value of a page for Charles Moore
himself, and then the Forth article could link to that. Regardless...

I don't know what Wikipedia's policies are on linking to external media
in the body of an article. I would imagine they would be against it,
since they can't control if (in this case) Forth Inc. will maintain that
URL for all time.

There is a picture of Charles on the colorforth.com web site that is
more current. One only has to do a "whois" lookup against that domain
to see contact information. Sending a message to him and asking if it
could be used would be appropriate.

>> On a separate but related subject; is the cover image of "Starting
>> Forth" copyrighted? (I am assuming yes.)
>
> As much as the rest of the book. Actually, Leo and I both hate that image.

My copy of "Starting Forth" has two images-- a woman typing on an
imaginary terminal and a picture of a man who looks kind of like the
Interpreter without the mustache typing on a real terminal. Both were
black line art against a dark blue cover. My copy also has the Forth
Inc.'s logo on it.

I had thought there was (like with "Thinking Forth") at least two
different covers.

Ian Osgood

unread,
May 30, 2006, 5:34:50 PM5/30/06
to

Alex McDonald wrote:
> The Forth language entry at http://en.wikipedia.org/wiki/Forth is
> getting another update. I've read
> http://www.forth.com/resources/evolution/index.html, and that's
> provoked some questions for clf.
>
> What languages influenced Moore during his development of Forth;
> specifically, did he model Forth on, or was he influenced by exposure
> to, any then-extant language?

You may find Chuck's draft for HOPL II informative:

http://colorforth.com/HOPL.html

He mentions Fortran, Algol, Lisp and even APL as influences (some
negative, some positive), and also the Burroughs 5500 assembly language
for DUP DROP and SWAP.

Ian

William J. Leary Jr.

unread,
May 30, 2006, 5:32:52 PM5/30/06
to
"John Passaniti" <nn...@JapanIsShinto.com> wrote in message
news:NM1fg.2555$Oh1....@news01.roc.ny...

> Elizabeth D Rather wrote:
> > As much as the rest of the book. Actually, Leo and I both hate that image.
>
> My copy of "Starting Forth" has two images-- a woman typing on an
> imaginary terminal and a picture of a man who looks kind of like the
> Interpreter without the mustache typing on a real terminal.

That guy always put me in mind of David Niven.

- Bill


John Doty

unread,
May 30, 2006, 6:00:53 PM5/30/06
to
Alex McDonald wrote:

> What languages did Forth subsequently influence, if any?

STOIC (Jonathan Sachs, MIT, ~1977) was an improved Forth, and LSE (Bob
Goeke, MIT, ~1978) was a simplified STOIC. I have a rewrite of LSE in C
that I might release sometime. Perhaps these are more reasonably
considered Forth dialects than separate languages.

MAGIC/L (Loki Software, ~1980) was an interactive Algol-like language on
a STOIC-derived foundation, an attempt to bring Forth's flexibility and
ease of development to an infix language.

Translex (ECD Corp., ~1977) was kind of a hybrid of Forth and TECO. Its
developers were aware of Forth and STOIC, so I'm sure there was
influence. The TOS was also the current cursor position on the current
editor screen! It was very flexible. One Translex application enabled
split-screen editing in Arabic and Roman characters on a 32 kilobyte
microcomputer: pretty advanced for the late '70s. Don't bother looking
it up on the web: another company now uses the name Translex for
something else.

--
---
John Doty, Noqsi Aerospace, Ltd.
---
His diagnosis of the hostility ... reflects the willful blindness of the
invader who assures himself that the natives are only made unfriendly by
some other provocation than his own. -Barbara W. Tuchman

Elizabeth D Rather

unread,
May 31, 2006, 12:41:23 AM5/31/06
to
"John Passaniti" <nn...@JapanIsShinto.com> wrote in message
news:NM1fg.2555$Oh1....@news01.roc.ny...
> Elizabeth D Rather wrote:
>> At the time, the language 'everybody' used was Fortran. However, Chuck
>> was mostly reacting against Fortran rather than modeling an "improved"
>> version of it. The main influence was in the naming of DO ... LOOP, I,
>> J, etc. Forth's "pictured" output number formatting is very loosely
>> modeled on COBOL's pictured formatting. Almost everything else was
>> derived from first principles, based on what he felt he needed.
>
> It was my understanding from past conversation in comp.lang.forth that
> exposure to Lisp played at least some part in the development of Forth.
> Certainly two aspects of Lisp (interactivity and extensibility) couldn't
> have escaped his notice.
>
> Forth also wasn't the only interactive interpreted extensible language at
> the time, and I wonder what role (if any) Smalltalk and Doug Engelbart's
> NLS may have had, if any.

As far as I know, Chuck was not familiar with any of those languages at the
time. Interactivity and extensibility were important values to him because
of the way he worked and his needs.

>>> What programming paradigm
>>> (http://en.wikipedia.org/wiki/Programming_paradigm) would Forth belong
>>> in? What would Moore have considered it?
>>
>> Chuck was never a computer scientist, and I think he resisted the notion
>> of 'programming paradigms' and pigeonholing languages in one or another.
>
> Just because he didn't frame his views in terms of paradigm doesn't mean
> that Forth itself can't be classed in with other languages. Forth is
> clearly an imperative procedural language. One can certainly extend Forth
> into other paradigms but that doesn't mean Forth itself can be classed in
> those paradigms.

I quite agree, I'm just explaining what his mindset was as I understood it.

> ...
> I don't know what Wikipedia's policies are on linking to external media in
> the body of an article. I would imagine they would be against it, since
> they can't control if (in this case) Forth Inc. will maintain that URL for
> all time.

There is a link to the article in the "History" list of references.

> ...


>
>>> On a separate but related subject; is the cover image of "Starting
>>> Forth" copyrighted? (I am assuming yes.)
>>
>> As much as the rest of the book. Actually, Leo and I both hate that
>> image.
>
> My copy of "Starting Forth" has two images-- a woman typing on an
> imaginary terminal and a picture of a man who looks kind of like the
> Interpreter without the mustache typing on a real terminal. Both were
> black line art against a dark blue cover. My copy also has the Forth
> Inc.'s logo on it.
>
> I had thought there was (like with "Thinking Forth") at least two
> different covers.

Yes, there was one for the initial publication in ~1982 (blue background
with illustrations from the book), and a different one with the 2nd Ed. in
about 1986. The second one is the one we hate. Prentice Hall designed it
without any input from us, and by the time we saw it it was too late.

Elizabeth D Rather

unread,
May 31, 2006, 12:49:58 AM5/31/06
to
"Elizabeth D Rather" <erath...@forth.com> wrote in message
news:127q7jl...@news.supernews.com...

> "John Passaniti" <nn...@JapanIsShinto.com> wrote in message
> news:NM1fg.2555$Oh1....@news01.roc.ny...
>> Elizabeth D Rather wrote:
>>> At the time, the language 'everybody' used was Fortran. However, Chuck
>>> was mostly reacting against Fortran rather than modeling an "improved"
>>> version of it. The main influence was in the naming of DO ... LOOP, I,
>>> J, etc. Forth's "pictured" output number formatting is very loosely
>>> modeled on COBOL's pictured formatting. Almost everything else was
>>> derived from first principles, based on what he felt he needed.
>>
>> It was my understanding from past conversation in comp.lang.forth that
>> exposure to Lisp played at least some part in the development of Forth.
>> Certainly two aspects of Lisp (interactivity and extensibility) couldn't
>> have escaped his notice.
>>
>> Forth also wasn't the only interactive interpreted extensible language at
>> the time, and I wonder what role (if any) Smalltalk and Doug Engelbart's
>> NLS may have had, if any.
>
> As far as I know, Chuck was not familiar with any of those languages at
> the time. Interactivity and extensibility were important values to him
> because of the way he worked and his needs.

Oops, thanks to Ian's reminding us of Chuck's draft for that article, I see
that he does list LISP as an influence. I certainly don't remember his ever
referring to it, though. At the time I first met Chuck I was personally
quite taken with APL, which is also sort of interactive and extensible, and
I made a point of asking if he knew anything about it. As I recall, he had
seen and rejected it because of its weird symbols and right-to-left parsing.

John Passaniti

unread,
May 31, 2006, 2:58:10 AM5/31/06
to
Elizabeth D Rather wrote:
> As far as I know, Chuck was not familiar with any of those languages at
> the time. Interactivity and extensibility were important values to him
> because of the way he worked and his needs.

So your claim is that he invented interactivity and extensibility ex
nihilo and paid no attention to other existing languages and systems at
the time that had such properties?

Forth is a great synthesis of a number of ideas, but in my study of
computing history, none of the ideas in Forth are unique. Forth may be
unique in how it combined the ideas, but decomposed and stripped to
their essence, they all existed prior to Forth.

> Yes, there was one for the initial publication in ~1982 (blue background
> with illustrations from the book), and a different one with the 2nd Ed.
> in about 1986. The second one is the one we hate. Prentice Hall
> designed it without any input from us, and by the time we saw it it was
> too late.

Now I'm curious what the second edition looks like. Hopefully someone
will scan theirs and put it online somewhere.

John Passaniti

unread,
May 31, 2006, 3:07:13 AM5/31/06
to
Elizabeth D Rather wrote:
> Oops, thanks to Ian's reminding us of Chuck's draft for that article, I
> see that he does list LISP as an influence. I certainly don't remember
> his ever referring to it, though. At the time I first met Chuck I was
> personally quite taken with APL, which is also sort of interactive and
> extensible, and I made a point of asking if he knew anything about it.
> As I recall, he had seen and rejected it because of its weird symbols
> and right-to-left parsing.

That's ironic, given where ColorForth went. In ColorForth, Moore
apparently views words as an indivisible entity in much the same way
that APL programmers see characters composed of multiple characters (for
example the quote-quad) as a single indivisible entity. I don't see
much conceptual difference between the two.

Incidentally, you used the qualifier "sort of" prior to "interactive"
above. In what way is APL not interactive relative to Forth, which I
presume you consider interactive without qualification?

Anton Ertl

unread,
May 31, 2006, 11:03:15 AM5/31/06
to
John Passaniti <nn...@JapanIsShinto.com> writes:
>Forth also wasn't the only interactive interpreted extensible language
>at the time, and I wonder what role (if any) Smalltalk and Doug
>Engelbart's NLS may have had, if any.

Smalltalk could not have had a role, because it came later. And it
started out from very high-level (the more pragmatic Smalltalk-76 was
not quite what Alan Kay had in mind) and AFAIK was not vey well-known
until Smalltalk-80.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: http://www.forth200x.org/forth200x.html
EuroForth 2006: http://www.complang.tuwien.ac.at/anton/euroforth2006/

James

unread,
Jun 1, 2006, 9:42:50 AM6/1/06
to
Elizabeth D Rather wrote:

> > What languages did Forth subsequently influence, if any?
>
> I'd love to know the answer to this. Possibly Postscript.

I know of a few:

REBOL (http://www.rebol.com). The designer of the language
specifically mentioned the influence of Forth in terms of having a
compact implementation, but the language is not Forth-like otherwise.

Joy (http://en.wikipedia.org/wiki/Joy_programming_language). Sort of a
Forth/Lisp cross, slanted toward theory more than everyday use. Its
biggest contribution was to get people talking about and experimenting
with "concatenative languages." A bunch of languages came out of this,
most notably...

Factor (http://en.wikipedia.org/wiki/Factor_programming_language). A
Joy-inspired language with more emphasis on practical applications.
The progress of this language has been impressive. The author has a
cross-platform Windows/OSX/Linux implementation, including an
optimizing compiler, GUI support, and a rich-text browser.

William James

unread,
Jun 1, 2006, 5:27:40 PM6/1/06
to
James wrote:

> Factor (http://en.wikipedia.org/wiki/Factor_programming_language). A
> Joy-inspired language with more emphasis on practical applications.
> The progress of this language has been impressive. The author has a
> cross-platform Windows/OSX/Linux implementation, including an
> optimizing compiler, GUI support, and a rich-text browser.

This looks very good to me.

By the way, in an earlier thread -IF was discussed. (It doesn't consume
the number if it's negative.) Factor has IF* that preserves the item
if it's not false:

{ 2 3 5 } [ "The object is " write . ] [ "False." print ] if*
The object is { 2 3 5 }
f [ "The object is " write . ] [ "False." print ] if*
False.

Elizabeth D Rather

unread,
Jun 1, 2006, 5:33:49 PM6/1/06
to
"John Passaniti" <put-my-firs...@JapanIsShinto.com> wrote in message
news:Bgbfg.4160$3B....@twister.nyroc.rr.com...
> ...

>
> Incidentally, you used the qualifier "sort of" prior to "interactive"
> above. In what way is APL not interactive relative to Forth, which I
> presume you consider interactive without qualification?

Unfortunately, you're straining what's left of my recollections of APL, but
the most important thing is that outside the kernel APL is (or was) strictly
interpretive, and user-defined routines are hence significantly slower than
kernel ones. Also, I remember a lot more rules about what you could type
when, although I can't be more specific than that. My impression at the
time was that APL was a lot more cumbersome to use.

Elizabeth D Rather

unread,
Jun 1, 2006, 5:43:54 PM6/1/06
to
"John Passaniti" <put-my-firs...@JapanIsShinto.com> wrote in message
news:68bfg.3941$W97...@twister.nyroc.rr.com...

> Elizabeth D Rather wrote:
>> As far as I know, Chuck was not familiar with any of those languages at
>> the time. Interactivity and extensibility were important values to him
>> because of the way he worked and his needs.
>
> So your claim is that he invented interactivity and extensibility ex
> nihilo and paid no attention to other existing languages and systems at
> the time that had such properties?
>
> Forth is a great synthesis of a number of ideas, but in my study of
> computing history, none of the ideas in Forth are unique. Forth may be
> unique in how it combined the ideas, but decomposed and stripped to their
> essence, they all existed prior to Forth.

There were a lot more attempts at interactive programming than the ones
mentioned above. The obvious example was BASIC, of course, but I also
remember a late-60's thing called QUICKTRAN which was a sort-of interactive
FORTRAN. I had a little experience with both, but I don't know whether
Chuck did.

Of course Chuck didn't "invent" interactivity and extensibility. As he has
described, he started with an interpreter that could process statements on
punch-cards fed to a mainframe. The critical event was in the early 70's,
when he was sitting on a stool in front of a computer with 16K bytes of
memory and only TTY paper tape and keyboard for I/O, and had to figure out
how to program the *&^%! thing. None of the existing models were even
remotely appropriate for that situation, so he developed his own approach.

Coos Haak

unread,
Jun 1, 2006, 5:57:59 PM6/1/06
to
Op 1 Jun 2006 14:27:40 -0700 schreef William James:

> James wrote:
>
>> Factor (http://en.wikipedia.org/wiki/Factor_programming_language). A
>> Joy-inspired language with more emphasis on practical applications.
>> The progress of this language has been impressive. The author has a
>> cross-platform Windows/OSX/Linux implementation, including an
>> optimizing compiler, GUI support, and a rich-text browser.
>
> This looks very good to me.
>
> By the way, in an earlier thread -IF was discussed. (It doesn't consume
> the number if it's negative.) Factor has IF* that preserves the item

Wouldn't that be: doesn't consume the number if it's non-zero?
Like the old name for ?DUP -DUP

--
Coos

CHForth, 16 bit DOS applications
http://home.hccnet.nl/j.j.haak/forth.html

William James

unread,
Jun 1, 2006, 6:09:47 PM6/1/06
to
Coos Haak wrote:
> Op 1 Jun 2006 14:27:40 -0700 schreef William James:
>
> > James wrote:
> >
> >> Factor (http://en.wikipedia.org/wiki/Factor_programming_language). A
> >> Joy-inspired language with more emphasis on practical applications.
> >> The progress of this language has been impressive. The author has a
> >> cross-platform Windows/OSX/Linux implementation, including an
> >> optimizing compiler, GUI support, and a rich-text browser.
> >
> > This looks very good to me.
> >
> > By the way, in an earlier thread -IF was discussed. (It doesn't consume
> > the number if it's negative.) Factor has IF* that preserves the item
>
> Wouldn't that be: doesn't consume the number if it's non-zero?
> Like the old name for ?DUP -DUP

I guess we were both wrong. Mr. Fox wrote:
> -IF is roughtly the functionally equivalent to the ANS sequence
>
> : -IF
> POSTPONE DUP POSTPONE 0< POSTPONE IF ; IMMEDIATE

So -IF preserves the number in any case.

abar...@arinc.com

unread,
Jun 2, 2006, 11:51:18 AM6/2/06
to
Elizabeth D Rather wrote:
> Oops, thanks to Ian's reminding us of Chuck's draft for that article, I see
> that he does list LISP as an influence. I certainly don't remember his ever
> referring to it, though. At the time I first met Chuck I was personally
> quite taken with APL, which is also sort of interactive and extensible, and
> I made a point of asking if he knew anything about it. As I recall, he had
> seen and rejected it because of its weird symbols and right-to-left parsing.

While reading papers on the E.W.Dijkstra website I came across the
following:

http://www.cs.utexas.edu/users/EWD/transcriptions/EWD00xx/EWD28.html

Dijkstra describes a two stack machine with a data stack and a return
stack. He presents enough detail of this conceptual machine -- one that
he feels would
not be efficient enough as an actual implementation -- to establish
many of
the language features that I recognize and enjoy in Forth. At the end
he lists John McCarthy as one of his inspiring listeners. This paper is
dated January, 1962. Charles
Moore's bio on colorforth.com mentions his studying mathematics at
Stanford for two years starting in 1961, including learning LISP from
John McCarthy. It would be
interesting to know if, as a graduate student working with McCarthy, he
had ever seen this paper.

Dijkstra demonstrated a strong urge to create as simplified
language/conceptual-machine as possible. Charles Moore was likewise
driven to create and implement simplified
language/development-environments and later, simplified machine
implementations. Even taken as completely separate activities with no
crossover -- though the times and degrees of seperation are tantalizing
-- combined with the actual models they arrived at give some sense of
the problems and compu-cultural environment in which they worked. In
any case, admirable thinking abounded.

'Hoping you find this interesting,

Tony Bartolini

Elizabeth D Rather

unread,
Jun 2, 2006, 3:15:24 PM6/2/06
to
<abar...@arinc.com> wrote in message
news:1149263478.9...@g10g2000cwb.googlegroups.com...

Fascinating, thanks for that.

I first heard of Dijkstra in the early 70's, when I was giving papers on
Forth and folks asked how it related to "structured programming". Someone
provided references to his papers on this subject, which were hot news at
the time, and I passed them on to Chuck. He had not read those papers, and
his only comment was that "it just seemed like good programming practice" to
him. Whether he had followed Dijkstra's earlier work is something only he
could answer.

Julian V. Noble

unread,
Jun 3, 2006, 8:42:16 AM6/3/06
to

I suspect Liz meant that most machines were mainframes without time-
sharing terminals. IIRC, APL was batch-processed, just like everything
else at that time (maybe there was T-S at specialized installations,
but never where I was--I didn't get into T-S --and we used Teletypes--
until the HP-2000 era, sometime in the 1970's). So interactivity was
for most languages just a gleam in a systems-designer's eye.

--
Julian V. Noble
Professor Emeritus of Physics
University of Virginia

Julian V. Noble

unread,
Jun 3, 2006, 9:01:22 AM6/3/06
to

QUICKTRAN was in the family of interpreted FORTRANs so it didn't go
through a complicated compile, link, execute cycle and short jobs
only had about 1 minute turnaround (as batch jobs). So by dedicating
several 1-hr periods per day as debugging time with fast turnaround,
mainframe centers (and I remember fondly the one at U of Wisconsin
in 1967!!) greatly improved the productivity of the programmers.

Julian V. Noble

unread,
Jun 3, 2006, 9:04:25 AM6/3/06
to

There was also an MIT-based Forth variant whose name slips my memory,
but those of my friends here with fewer "senior moments" to their
credit will doubtless remember its name. IIRC it had some small,
eccentric differences from Forth that AFIK didn't make it any better.

Julian V. Noble

unread,
Jun 3, 2006, 9:06:12 AM6/3/06
to
John Doty wrote:
> Alex McDonald wrote:
>
>> What languages did Forth subsequently influence, if any?
>
> STOIC (Jonathan Sachs, MIT, ~1977) was an improved Forth, and LSE (Bob
> Goeke, MIT, ~1978) was a simplified STOIC. I have a rewrite of LSE in C
> that I might release sometime. Perhaps these are more reasonably
> considered Forth dialects than separate languages.
>
> MAGIC/L (Loki Software, ~1980) was an interactive Algol-like language on
> a STOIC-derived foundation, an attempt to bring Forth's flexibility and
> ease of development to an infix language.
>
> Translex (ECD Corp., ~1977) was kind of a hybrid of Forth and TECO. Its
> developers were aware of Forth and STOIC, so I'm sure there was
> influence. The TOS was also the current cursor position on the current
> editor screen! It was very flexible. One Translex application enabled
> split-screen editing in Arabic and Roman characters on a 32 kilobyte
> microcomputer: pretty advanced for the late '70s. Don't bother looking
> it up on the web: another company now uses the name Translex for
> something else.
>

Thanks, John. STOIC, of course! I saw it in action and cannot regard
it as "improved" in any sense. Just different.

George Hubert

unread,
Jun 3, 2006, 11:13:47 AM6/3/06
to

abar...@arinc.com wrote:
> Elizabeth D Rather wrote:
> > Oops, thanks to Ian's reminding us of Chuck's draft for that article, I see
> > that he does list LISP as an influence. I certainly don't remember his ever
> > referring to it, though. At the time I first met Chuck I was personally
> > quite taken with APL, which is also sort of interactive and extensible, and
> > I made a point of asking if he knew anything about it. As I recall, he had
> > seen and rejected it because of its weird symbols and right-to-left parsing.
>
> While reading papers on the E.W.Dijkstra website I came across the
> following:
>
> http://www.cs.utexas.edu/users/EWD/transcriptions/EWD00xx/EWD28.html
>
> Dijkstra describes a two stack machine with a data stack and a return
> stack. He presents enough detail of this conceptual machine -- one that
> he feels would
> not be efficient enough as an actual implementation -- to establish
> many of
> the language features that I recognize and enjoy in Forth. At the end
> he lists John McCarthy as one of his inspiring listeners. This paper is
> dated January, 1962. Charles
> Moore's bio on colorforth.com mentions his studying mathematics at
> Stanford for two years starting in 1961, including learning LISP from
> John McCarthy.

Curious; in http://www.colorforth.com/HOPL.html he says
"At MIT, John McCarthy taught an incredible course on LISP. That was my
introduction to recursion, and to the marvelous variety of computer
language." (McCarthy was at MIT from 1958-62 prior to going to
Stanford).

> It would be
> interesting to know if, as a graduate student working with McCarthy, he
> had ever seen this paper.
>
> Dijkstra demonstrated a strong urge to create as simplified
> language/conceptual-machine as possible. Charles Moore was likewise
> driven to create and implement simplified
> language/development-environments and later, simplified machine
> implementations. Even taken as completely separate activities with no
> crossover -- though the times and degrees of seperation are tantalizing
> -- combined with the actual models they arrived at give some sense of
> the problems and compu-cultural environment in which they worked. In
> any case, admirable thinking abounded.
>
> 'Hoping you find this interesting,
>
> Tony Bartolini

George Hubert

John Doty

unread,
Jun 3, 2006, 11:21:15 AM6/3/06
to
Julian V. Noble wrote:


> I suspect Liz meant that most machines were mainframes without time-
> sharing terminals. IIRC, APL was batch-processed, just like everything
> else at that time

APL was timeshared from the start. The first real implementation,
APL\360, included a custom timesharing O/S. There never was a keypunch
that could handle those crazy characters!

I first encountered APL in 1969 as APL\1130, not time shared, but
interactive using the built-in console on the IBM 1130. Very, very,
slow: not enough room in memory for a workspace, all your variables and
functions were on (slow) disk, swapped in/out.

In 1970, as a member of the SIPB (http://stuff.mit.edu/sipb/), I helped
talk the MIT EE department into allowing general student access to an
APL\360 system they had. This was a virtual machine under CP/67, so it
was two-layer timesharing. Virtualization seems all the rage now, but it
goes back a long way.

In those days, APL users carried special Selectric typeballs in their
pockets: the standard typeballs lacked the special APL characters.

John Doty

unread,
Jun 3, 2006, 5:39:08 PM6/3/06
to
Julian V. Noble wrote:

> John Doty wrote:
>
>> Alex McDonald wrote:
>>
>>> What languages did Forth subsequently influence, if any?
>>
>>
>> STOIC (Jonathan Sachs, MIT, ~1977) was an improved Forth, and LSE (Bob
>> Goeke, MIT, ~1978) was a simplified STOIC. I have a rewrite of LSE in
>> C that I might release sometime. Perhaps these are more reasonably
>> considered Forth dialects than separate languages.

>

> Thanks, John. STOIC, of course! I saw it in action and cannot regard
> it as "improved" in any sense. Just different.
>

The principal improvement was the elimination of the text interpreter,
thereby removing all of the confusing [thing] kludges that afflict
traditional Forths. To some extent this was hidden by the way way Jon
let complexity grow back elsewhere: he loved tricky stack gymnastic
words, for example.

Marcel Hendrix

unread,
Jun 4, 2006, 7:24:39 AM6/4/06
to
"Elizabeth D Rather" <erather...@forth.com> writes Re: Influences on Moore & other Qs
[..]

> Oops, thanks to Ian's reminding us of Chuck's draft for that article, I see
> that he does list LISP as an influence. I certainly don't remember his ever
> referring to it, though. At the time I first met Chuck I was personally
> quite taken with APL, which is also sort of interactive and extensible, and
> I made a point of asking if he knew anything about it. As I recall, he had
> seen and rejected it because of its weird symbols and right-to-left parsing.
[..]

From http://www.colorforth.com/HOPL.html, in Chuck's own words:

| APL was also a topical language, with its weird right-left parsing.
| Although I admire and emulate its operators, I'm not persuaded they
^^^^^^^^^^^^^^^^^^^^^^^^^
| constitute an optimal set.

For me, this means both LISP and APL had a strong influence.

-marcel

Peter Lawrence

unread,
Jun 5, 2006, 11:46:26 PM6/5/06
to
Alex McDonald wrote:
>
> The Forth language entry at http://en.wikipedia.org/wiki/Forth is
> getting another update. I've read
> http://www.forth.com/resources/evolution/index.html, and that's
> provoked some questions for clf.
>
> What languages influenced Moore during his development of Forth;
> specifically, did he model Forth on, or was he influenced by exposure
> to, any then-extant language?

BCPL, an Algol like language which greatly influenced C, used @ and ! infix
operators to fetch and store. Maybe that usage was around at the time (it
didn't survive into C), or maybe Forth got it directly from BCPL. PML.

--
GST+NPT=JOBS

I.e., a Goods and Services Tax (or almost any other broad based production
tax), with a Negative Payroll Tax, promotes employment.

See http://member.netlink.com.au/~peterl/publicns.html#AFRLET2 and the other
items on that page for some reasons why.

Peter Lawrence

unread,
Jun 6, 2006, 12:32:27 AM6/6/06
to
James wrote:
>
> Elizabeth D Rather wrote:
>
> > > What languages did Forth subsequently influence, if any?
> >
> > I'd love to know the answer to this. Possibly Postscript.
>
> I know of a few:.
.

.
> Joy (http://en.wikipedia.org/wiki/Joy_programming_language). Sort of a
> Forth/Lisp cross, slanted toward theory more than everyday use. Its
> biggest contribution was to get people talking about and experimenting
> with "concatenative languages."

No, actually Manfred Von Thun worked it out independently. Only after that
did people notice the parallel evolution that had happened. Then, of course,
some hybridisation happened.

A bunch of languages came out of this,

I've actually done something in this area myself, a project I call Furphy
which I've mentioned on news:comp.lang.forth before. PML.

Jeff Fox

unread,
Jun 7, 2006, 2:05:25 AM6/7/06
to
abar...@arinc.com wrote:
> It would be interesting to know if, as a graduate student
> working with McCarthy, he had ever seen this paper.

I asked him and he said he hadn't ever seen it.

abar...@arinc.com

unread,
Jun 7, 2006, 12:42:21 PM6/7/06
to

Thanks very much for asking him. It sure speaks to the ferment of the
times that the low level peices should boil up in very similar ways in
multiple places at roughly the same time. It was a tantalizing
potential linkage, now laid to rest.

I still highly recommend the article to Forth lovers. It shows an
interesting approach to breaking down assumptions in programming
languages. An incredibly strong drive to simplify. It helped me further
appreciate aspects of the language I actually get to use to solve
problems: why they feel so atomic.

Thanks again Jeff,

Tony Bartolini

Dave Thompson

unread,
Jun 18, 2006, 11:15:17 PM6/18/06
to
On Mon, 05 Jun 2006 20:46:26 -0700, Peter Lawrence
<pet...@netlink.com.au> wrote:

> Alex McDonald wrote:
> >
> > The Forth language entry at http://en.wikipedia.org/wiki/Forth is
> > getting another update. I've read
> > http://www.forth.com/resources/evolution/index.html, and that's
> > provoked some questions for clf.
> >
> > What languages influenced Moore during his development of Forth;
> > specifically, did he model Forth on, or was he influenced by exposure
> > to, any then-extant language?
>
> BCPL, an Algol like language which greatly influenced C, used @ and ! infix
> operators to fetch and store. Maybe that usage was around at the time (it
> didn't survive into C), or maybe Forth got it directly from BCPL. PML.

What BCPL -- I believe there were several variants; but not the one I
saw on Tenex, or in the manual by Richards dmr has on his website:
those had prefix 'rv' for @ (fetch) and infix '=' for ! (assign).

BCPL does have untyped word/cell data _semantics_ much like Forth, and
a uniform function-call method that allows some playing about with the
stack though not as directly or completely as Forth.

- David.Thompson1 at worldnet.att.net

Andrew Haley

unread,
Jun 19, 2006, 6:47:28 AM6/19/06
to
Dave Thompson <david.t...@worldnet.att.net> wrote:
> On Mon, 05 Jun 2006 20:46:26 -0700, Peter Lawrence
> <pet...@netlink.com.au> wrote:

>> Alex McDonald wrote:
>> >
>> > The Forth language entry at http://en.wikipedia.org/wiki/Forth is
>> > getting another update. I've read
>> > http://www.forth.com/resources/evolution/index.html, and that's
>> > provoked some questions for clf.
>> >
>> > What languages influenced Moore during his development of Forth;
>> > specifically, did he model Forth on, or was he influenced by exposure
>> > to, any then-extant language?
>>
>> BCPL, an Algol like language which greatly influenced C, used @ and
>> ! infix operators to fetch and store. Maybe that usage was around
>> at the time (it didn't survive into C), or maybe Forth got it
>> directly from BCPL. PML.

> What BCPL -- I believe there were several variants; but not the one I
> saw on Tenex, or in the manual by Richards dmr has on his website:
> those had prefix 'rv' for @ (fetch) and infix '=' for ! (assign).

In [1], := is used for assignment. ! is the indirection operator,
more-or-less like C's *. (Not quite the same because it's also used
for array indexing.) Whether ! is a fetch or a store depends on
whether it appears on the left-hand or right-hand side of an
assignment operator. @ is like C's addressof (&) operator.

Andrew.

[1] M. Richards and C. Whitby-Strevens, BCPL: The Language and its
Compiler, Cambridge University Press, Cambridge, UK, 1979.

0 new messages