Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!jarthur!elroy.jpl.nasa.gov!decwrl!ucbvax!SUN.COM!wmb From: wmb@SUN.COM (Mitch Bradley) Newsgroups: comp.lang.forth Subject: RE: New Directions: 'I' is broken in Forth Message-ID: <9001231635.AA14088@jade.berkeley.edu> Date: 23 Jan 90 08:52:55 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Forth Interest Group International List Organization: The Internet Lines: 41 > 100% right. The mess of confusing the return stack with loops and index > is simply crazy, as is the use of the return stack for anything but return > addresses. More generally, Forth has a very bad tendency to use the same word to mean two or more different things, taking advantage of the fact that it just happens to work on a particular implementation. My pet peeve is the use of COUNT for incrementing a pointer through a byte array. This is a common usage but I think it is disgusting. A more profound problem is the use of the same arithmetic and comparison operators for integer arithmetic and also for address arithmetic. In many cases, integers and addresses have quite different properties. This kind of think severely hinders portability. Better to bite the bullet and call a spade a spade, rather than saying that it's like a shovel on your machine and leaving it at that. > >I'm beginning to be of the opinion that DO LOOP and its use of the > >return stack is not an elegant design, but rather one that was hacked > >on top of the existing machinery. > > probably not hacked, but designed that way by Chuck Moore under very > strong constraints for space. This is also in Chuck's style! The last I heard, Chuck had repented of having invented DO .. LOOP , preferring FOR .. NEXT instead. I believe that he felt strongly enough about it to have lobbied for the removal of DO .. LOOP from the ANSI standard. Actually, I think that Chuck would be happier if he could rewrite the history books every 6 months. > probably not hacked, ... I vote for "hacked". Forth is full of hacks. It's an amazing combination of sublime elegance and hideous hackery. Mitch