Path: utzoo!censor!geac!torsqnt!hybrid!scifi!bywater!uunet!world!dcp From: dcp@world.std.com (David C. Petty) Newsgroups: comp.lang.forth Subject: Re: ANS Forth Keywords: ANS Forth Message-ID: <1991Jan15.062457.18348@world.std.com> Date: 15 Jan 91 06:24:57 GMT References: <4410@mindlink.UUCP> Reply-To: dcp@world (David C. Petty) Organization: The World @ Software Tool & Die Lines: 62 In article <4410@mindlink.UUCP>, a684@mindlink.UUCP (Nick Janow) writes: ``> b) fear adding (relatively) new and untried ``improvements'' to ``> ANS Forth, because that may (will) lead to the types of ``> problems we experienced with FORTH-83 and it may (will) ``> prevent adoption of the (possible) _best_ versions of ``> language features that may be just around the corner, but ``> incompatible with what we adopt in ANS Forth. <...stuff...> ``There will always be something better "just around ``the corner". `` ``The ANSI standard has to deal with what is available today. Where possible, ``it should allow for future additions or changes, but it can't deal with them ``before they exist. I find it incredibly ironic that, when arguing against my contention that adding whizzy features to Forth may cause problems, someone would suggest that ANS Forth, as it is currently constituted, is dealing with the Forth of today. Your talking to Mr. ``Let's standardize this year's Forth, not next year's Forth!'' I am not suspicious of a Forth standard, per se (I was on the Forth Standards Team and was at the founding meeting of X3J14). I am suspicious of ``improvements'' to Forth ending up in ANS Forth. Some of the ``improvements'' of FORTH-83 over FORTH-79 were changing LEAVE, changing DO, changing division, changing PICK, changing ROLL, changing state-smart words, and on and on. I maintain that it was a mistake to make (some of) these changes -- that they were not that well thought out. X3J14 has generally avoided these gross mistakes, but the goals of X3J14 are loftier and the document is much more complex than the FORTH-83 standard. By attempting to standardizing a complete Forth, X3J14 may be introducing subtle and non-trivial problems -- after all, what seem like obvious problems today were too subtle for us to notice in 1983. FORTH-83 also put forth the ONLY ... ALSO search order control mechanism as an experimental proposal. A variant of it exists in BASIS14, but there is no accepted practice in this area (that does _not_ mean that it is not accepted practice to have VOCABULARY in your system, just that implementations vary). _I do not believe that it is the best search order mechanism we can come up with_. Having _no_ standard search order mechanism is better than having one that will preclude the ``obvious'' best (and as yet unknown) search order mechanism from being standard (especially when having only one word list (FORTH) does not materially efffect the usefulness of the language). Putting such experimental proposals into ANS Forth as WORDLIST, locals, and CATCH / THROW where there is no clear accepted practice is standardization by fiat. By all means, do not ``...deal with [future additions or changes] before they exist.'' It's just that ``exist,'' in my book, means ``reflecting clear accepted practice'' not ``someone thought they would be useful.'' -- David C. Petty | dcp@world.std.com | ...!{uunet,bu.edu}!world!dcp /\ POBox Two | CIS: 73607,1646 | BIX, Delphi, MCIMail: dcp / \ Cambridge, MA | `It must've been some-other-body, / \ 02140-0001 USA | uh uh babe it wasn't me...' /______\