Ron Aaron <
ramb...@gmail.com> writes:
>My point is, rather simply, that implementing a "Forth" does not require
>one to implement any particular words, nor any particular syntax
>excepting the whitespace-delimited parser (and a dictionary, but that's
>internal).
But what was the point of the person you replied to?
Concerning your point, it's about the (minimal) definition of Forth.
I don't think that discussing this is very productive, but anyway:
In Chuck Moore's first paper on Forth [moore&leach70], Forth did not have the
space-delimited syntax that it has now.
Also, Forth is usually defined as having stacks, so Poial's
observation about stack effect syntax consituting a syntax applies.
@TechReport{moore&leach70,
author = "Charles H. Moore and Geoffrey C. Leach",
title = "FORTH -- A Language for Interactive Computing",
institution = "Mohasco Industries, Inc.",
year = "1970",
address = "Amsterdam, NY",
url = "
http://www.ultratechnology.com/F70POST.ZIP",
url = "
http://www.ultratechnology.com/4th_1970.html",
annote = "Describes Forth, as it was in 1970. There are
surprising differences from and surprising
similarities with modern Forth systems. The system
they describe uses text interpretation instead of
threaded code for definitions, although there is
already a code field, i.e., the foundation for indirect
threading. During the interpretation of a
definition, only words defined earlier are visible,
like in modern Forths, and in contrast to
Postscript. To make text interpretation speed
bearable, the dictionary is implemented as a hash
table with external chaining. There is support for
portably generating CODE words (called verbs in the
paper). The syntax is a bit more complicated than
today: special characters may only come as first
character in a word, so words are not only separated
by spaces. The system already features multitasking
(round-robin, with preemption). Source is stored in
screens (then called sheets) containing 50 lines by
40 characters. The programs look markedly different
than today because the primary stack manipulation
words are @T (similar to PICK) and =T (similar to a
word sometimes called STICK). Forth was running on
the IBM~1130 and the Burroughs B-5500 (different
cell sizes). The paper also observes that compactness of
programs ``arises through the economies of tailoring
definitions to a specific application'', and is more
pronounced in larger programs."