Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!usc!elroy.jpl.nasa.gov!swrinde!zaphod.mps.ohio-state.edu!rpi!crdgw1!sunbelt!eaker From: eaker@sunbelt.crd.ge.com (Charles E Eaker) Newsgroups: comp.lang.forth Subject: Re: Case of Code Message-ID: <15551@crdgw1.crd.ge.com> Date: 10 Jan 91 19:28:53 GMT References: <2217.UUL1.3#5129@willett.pgh.pa.us> Sender: news@crdgw1.crd.ge.com Organization: General Electric Corporate R&D Center Lines: 55 In article <2217.UUL1.3#5129@willett.pgh.pa.us> ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) writes: >F.SERGEANT [Frank] at 01:07 CST > > John Wavrik wrote: > > >Eaker's CASE statement OCCUPIES ONE SCREEN OF CODE. Anyone who has > >liked it and wanted in their system has been able to add it and use it > >-- so the fact that it has not been part of Forth Standards is hardly > >evidence of the sluggishness and perversity of the Forth community -- > >but is, rather, evidence that previous Standards teams have understood > >the nature of Forth. > > Oh, oh, oh! That surely is beautifully written, especially the final >phrase! > > -- Frank There is no need, in my opinion, for my CASE structure to become part of any Forth standard because, as John Wavrik makes clear, (1) it can be implemented in 8 short lines of code, (2) those 8 lines of code contain words that have been well-defined and understood for at least 10 years, (3) it is simply another way of expressing what can already be expressed in, I suspect, every Forth that has ever existed, and (4) if the writer of a standard application wishes to have it available, it can be included in a preamble to the application at little expense in terms of space or other resources. However, none of these four things can be said of (a) a file system interface, (b) memory allocation, and (c) floating point. And only the first is true of (d) error handling, and (e) search order control. Our facility, for one rather large one, is years beyond projects that can get along without (a) through (d). (We can't even get along without a standard windowing environment, but try and put that in a Forth standard ... on second thought, try to just write a windowing vocabulary in Forth that would work on more than three vendors' implementations on at least two different platforms.) Forth has not been used here for many years. All the reasons have a common root: Forth is at least 10 years behind the de facto (but that's good enough) C standard. To use Forth here, as productively as the C environment, would require a lot of home grown and supported development tools. Despite being one of the largest companies in the world, this is not a computer hardware or software company. Creating our own complete, personalized software development environment from the ground up is nothing more than an unjustifiable resource drain. By the way, I have yet to see a Forth standard which defines a way to print the name of a word given its compilation token. How, I wonder, does one write standard debuggers and decompilers? -- Chuck Eaker / P.O. Box 8, K-1 3C12 / Schenectady, NY 12301 USA eaker@crd.ge.com eaker@crdgw1.UUCP (518) 387-5964