From: mikc@hal.gnu.ai.mit.edu (Mike Coughlin)
Newsgroups: comp.lang.forth
Subject: Forth Standard Debate
Summary: There is little agreement on Forth standards
Date: 3 Jan 93 19:43:51 GMT
Article-I.D.: life.1i7flnINN9or
Distribution: world
Organization: MIT Artificial Intelligence Lab
NNTP-Posting-Host: hal.gnu.ai.mit.edu


 In reply to a message from well.sf.ca.us!jax (or jax@well{UUCP,sf.ca.us})
     (Jack Woehr) --
|In <1fs6vbINNqfo@life.ai.mit.edu> mikc@hal.gnu.ai.mit.edu 
|    (Mike Coughlin) writes:
|
| ...<<< some useful and helpful prose by mike deleted. we skip to the b.s.>>>
|
|>>    Forth has not been standardized, not at all, ever. Each attempt at
|>writing a Forth standard has created more diversity and confusion in Forth
|>and produced more incompatable versions. The current dpANS is continuing
|>this trend.
|
|        This is the sort of b.s. that totally discredits your almost
|defensible position, Mike. That you would have the nerve to spew this
|nonsense on the net when a newcomer asks you about Forth! You must
|hate Forth and be hoping no-one ever tries it again, just because you
|don't like the Technical Committee working on ANS Forth. Shame on you!
|
    Well I'm glad I did manage to write a little bit of helpful prose. 
Which part of my paragraph above do you dissagree with most? Has
Forth ever been standardized? Has a new Forth standard ever replaced an
old standard? Do you expect people to stop using F-PC, F83 or fig Forth
when the ANSI standard is finished? Maybe a few years from now there 
will be several new Forth systems following the ANSI standard and there
will be a collection of application programs that will run on all of 
them. But nobody can tell what anything in the computer industry will be 
that far in advance. My guess is the many allowed options will mean 
incompatable Forth systems will be written that still qualify as being 
ANSI standard.
    The reason we have so many different Forth systems is because every 
person who writes a new one thinks of a better or different way to do 
something. And then he adds his favorite things from some other langauge or 
system. The ANSI committee did the same. The proposed cure for incompatable 
Forth systems is the same as the disease.

|        You ignore what must be hundreds of thousands of installations
|of 83-STANDARD, the finest embedded control language known to computer
|science.
    There is no particular need to follow any sort of Forth standard in 
embedded systems. The Forth code is hidden away where only its author 
will see it. So I don't see how anyone could count the number of Forth 
systems in use or tell what standard (if any) they follow. Since there 
are many more important topics to discuss, I guess I'll keep ignoring
this one. Of course Forth is the best language to use for embedded systems
even when somebody makes up a completely new version. In an embedded sytem
there is no room to hide the problems of lackluster programming languages
under piles of memory and fast CPU's.
|
|        In my book, _ANS Forth, The New Model_ (M&T Books, later this
|month) I cite respectfully the objections of the Wavrik/Boston axis
|to the new Standard, expressing your misgivings as fairly as I can.
|When I saw your ridiculous attack in your latest posting, I wondered
|why I had dignified your faction with recognition.
|
|        What you should have said is something like what follows:
|
|        "There have been several Forth Standard, none of which were found
|        in practice to be totally satisfactory. ANS Forth looks to be one
|        more disappointment, due to the size of the proposed model and
|        due to its attempt to separate the syntax of Forth from the execution
|        model of Forth."
|
|        This is what, in your calmer moments, you and Dick Miller and
|Wavrik and the rest really mean. Why don't you say it, or at least
|save your nonsense for insults to hurl directly at Committee members,
|rather than discouraging visitors to the world of Forth?
|
     A clear textbook about using a new version of Forth is much more 
valuable than a hard to understand formal standard.
     I can't speak for Dick Miller, John Wavrik or anyone else. I don't want 
to hurl any insults at anybody, especially members of the ANSI committee
who understand Forth better than I do and have spent more time working
on it than I have. But there are many things that are wrong with the ANSI
approach to standards; and that includes other standards besides Forth. We've
all seen the quote "Standards are wonderful; there are so many of them to 
choose from."
     I would not agree that the above summary expresses my main concerns with 
the writing of Forth standards. The size of the document is too large, but 
this is only a symptom of other underlying problems. I can't tell if the 
attempt to separate Forth syntax from Forth implementations does anything 
good or bad. I wouldn't use the word "model" in two different senses.
     The first problem that comes to mind was described very well by Glen
Hayden in his comment to ANSI for the first public review of dpANS Forth 
(#31 22 February 1992). He stated "I find the definitions of those 
functions in common usage have all been changed from those given in all 
public domain documentation." What is surprising to me is that his comment
seems to have been considered as being a favorable one by the committee.
Taken as a whole, I think his comment is less favorable than anything I've
written.
     A second objection is the scope or level of the description of Forth.
It is too removed from describing how Forth actually works. There are
lots of definitions of words but not enough is said about how things get
done. There needs to be a clear description of inner interpreters, threading,
outer interpreters and metacompiling. There may not be one standard way
to do these, but the terms need to be explained and understood if the rest
of Forth is to make any sense. Writing a standard document that only experts
can understand, as is the case of most standard documentation, is a bad
thing for Forth. There are too few Forth experts and they dissagree. Most
people who read the document will get the impression that Forth is hard to
understand instead of learning that most Forth documentation is hard to
understand.
  
|        ANS Forth may be ready for review in January, with approval in
|June. It's a great model, and most *professional* Forth programmers will
|enjoy working with it.
|
     I know several *professional* Forth programmers locally, and the more
they depend on earning their living from Forth, the less they expect to enjoy 
using the proposed ANSI Forth standard. 

-- 
   Michael Coughlin             mikc@gnu.ai.mit.edu