Path: utzoo!utgpu!watserv1!watmath!att!rutgers!mit-eddie!bu.edu!xylogics!samsung!sdd.hp.com!usc!cs.utexas.edu!texbell!ficc!peter From: peter@ficc.ferranti.com (Peter da Silva) Newsgroups: comp.lang.forth Subject: Re: FORTH-83 Message-ID: Date: 16 Jul 90 16:37:28 GMT References: <11887@sdcc6.ucsd.edu> Reply-To: peter@ficc.ferranti.com (Peter da Silva) Organization: Xenix Support, FICC Lines: 24 In article <11887@sdcc6.ucsd.edu> ir230@sdcc6.ucsd.edu (john wavrik) writes: > STATE-SMART WORDS > The Forth-83 team felt it objectionable to use the same name for > two totally different actions. Words like ' which had different > actions depending on STATE were replaced by a pair ' and [']. From rumors around at the time, basically Chuck Moore found state-smart words objectionable and convinced enough other people to get this through. Chuck Moore's own product, PolyForth, was pretty primitive... and the lack of state smart words and nesting checking for BEGIN/IF/DO were the worst part of it. My own reaction to dropping state-smart words was negative, to say the least. You quibbled over the semantics of NOT (I happen to agree with you there, by the way) based on human factors. Well, human factors argue for making the same word have the same semantics whether in compile state or interpret state. {." foo"} should no more have to be changed in a definition than {3 .}. Fixing DO loops and removing the conflict between {'} and {-find} were pretty nice features. I much prefer floored division. A lot of the F83 changes were positive... though the cosmetic changes (for example, from -dup to ?dup) seemed pretty arbitrary. But getting rid of state-smart words was a distinct step backwards in the name of purity. -- Peter da Silva. `-_-' +1 713 274 5180.