Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!rutgers!apple!usc!ucsd!ucbvax!MITCH.ENG.SUN.COM!wmb From: wmb@MITCH.ENG.SUN.COM Newsgroups: comp.lang.forth Subject: ANS Forth Message-ID: <9012191351.AA00163@ucbvax.Berkeley.EDU> Date: 17 Dec 90 22:44:43 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: wmb%MITCH.ENG.SUN.COM@SCFVM.GSFC.NASA.GOV Organization: The Internet Lines: 40 > Adding tons of whizzy new, but > _optional_, features to Forth might be OK as long as we can all agree to the > extent to which they are optional and can allow for minimal Forths to still be > standard. To be labeled as a ANS Forth "standard system", an implementation must have all the CORE words, and even those CORE words need not always be present in memory. It suffices to provide them is source or "demand load" form, so long as the system documentation tells the programmer how to get them in. There are presently 135 CORE words, 3 more than the number of required words in Forth 83. A system may choose to also provide some subset of the CORE EXTENSION words. A system may choose to provide one or more optional wordsets (e.g. floating point, file access, local variables, search order, etc). If a system claims to have a particular optional wordset, it must have the entire base portion of that wordset, and may include a subset of the extension portion of that optional wordset. This doesn't prevent an implementor from including selected words from an optional wordset. However, you can't label your system as "having the wordset" unless you have the complete base wordset. You can say, e.g. "includes F+ , F- , F/ , and F* from the Floating Point wordset", but in order to say "includes the Floating Point wordset", you must have the complete set. It has been argued that market pressures will force vendors to include every optional word. This may be true in "big system" environments where those optional words are useful, but I don't think it is true in general. I certainly don't plan to include the text file access wordset in my products that run on embedded systems without mass storage. Most successful Forths for the "big system" environments already include the functional equivalents of the optional wordsets, and I think it is a good time to try to standardize the names and meanings of these words. (10 years ago would have been an even better time). Mitch Bradley, wmb@Eng.Sun.COM