[comp.lang.forth] ANS Forth - the kitchen sink manifesto

wmb@pi.Eng.Sun.COM (Mitch Bradley) (06/02/90)

> John Wavrik writes ...
> If Forth retains its main asset, the ability of users to add major
> features to the language, the dispute between "minimalists" and
> "kitchen sinkists" disappears.

I disagree.  As a "kitchen sinkist", I believe that many people choose
not to use Forth because it is lacking so much.  Certainly it is *possible*
to "roll your own" major features, but who has the time, either to write
the feature packages or even to dig around on bulletin boards in hopes of
finding quality public domain implementations of the needed packages?

Important extension packages MUST be standardized at the "official" level.
If not:
	a) Most people won't know of their existence
	b) There will be broad and fundamental differences between
	   implementations of packages purporting to do the same thing
	c) Extension packages will not be supported, or else each
	   vendor will do something different.

File system interfaces are a case in point.  It became clear to me in 1982
that Forth desperately needed a portable file system interface package,
similar to C's "standard I/O".  So, I wrote one in a very portable fashion,
published the spec and the implementation in the FORML proceedings, placed
the code in the public domain, and proceeded to announce its existence at
every Forth meeting and convention that I attended for the next n years.
(This was before the popularity of networks; even so, what percentage of
Forth users read one of these networks?  I bet it's a small percentage)

	Do most people know about it?
		No.
	Have other incompatible file interface packages been "reinvented"?
		Yes.
	Do most vendors now supply file interface packages?
		Yes.
	Are those vendor-supplied packages compatible with one another?
		No.

Consequently, in any real sense it is currently not feasible to write a
standard Forth program that accesses files.  That is why, when somebody
recently asked for a program to convert Forth screens into text files,
all of the responses (except my own) were WRITTEN IN C.

Claiming the *possibility* of user extensions ISN'T GOOD ENOUGH.

The good news is that ANS Forth DOES standardize a number of much needed
extensions, including files, floating point, memory allocation, strings,
local variables, extended memory access, run-time search order control,
and error handling.

ANS Forth will make the situation a lot better, if it is not already too
late.

Mitch Bradley