Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!ucsd!ucbvax!MITCH.ENG.SUN.COM!wmb From: wmb@MITCH.ENG.SUN.COM (Mitch Bradley) Newsgroups: comp.lang.forth Subject: ANS Forth Message-ID: <9008271442.AA12485@ucbvax.Berkeley.EDU> Date: 25 Aug 90 18:51:23 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Mitch Bradley Organization: The Internet Lines: 59 > It was natural to ask if some agreement was reached on a mechanism for > vectored execution. The answer is no. The answer is that there is a simple, portable, reasonably efficient way of implementing vectored execution in terms of ANS Forth words. Many people claim that is sufficient rationale for not adding additional words to the standard. Those people who are interested in a small standard use this argument frequently. If you couldn't reasonably define vectored execution in terms of the standard, then that would be a strong argument for adding the capability. But you can. > BEGIN BL WORD DUP COUNT " )IF" $= <> > WHILE COUNT EVALUATE POSTPONE IF > .. > This is to be used in the form IF( c1 e1 ... ck ek )IF > IF( is IMMEDIATE, so it is now executing. ... EVALUATE > should now evaluate this string -- i.e. execute the condition c1 -- > rather than compile it into the dictionary. It is executing *in compile state*, so EVALUATE will compile it into the dictionary rather than execute it. In fact, Basis 12 tweaked the description of EVALUATE in an attempt to make it clear that EVALUATE does not change STATE . Whether it succeeded or not is anybody's guess, considering the difficulty of writing unambiguous English and the propensity for humans to apply their own preconceptions and world model to what they are reading. Dennis Ruffer's POSTPONE solution works too. So the answer to question 3 is definitely "can do". > ARE GLOSSARY DESCRIPTIONS SUFFICIENTLY CLEAR AND UNAMB- > IGUOUS? Would two people who implement a word based on > the glossary description produce words that execute in the > same way under all conditions? Who is to say? The only way to be 100% sure is for a lot of people to implement it. We will know when we know. The committee is extremely concerned about this, as evidenced by the large proportion of proposals concerned solely with the clarity of the wording of Basis. If anybody has problems with particular wording, they are encourage to submit specific proposals suggesting improved wording. I assure you that such proposals are acted-upon with high priority, and have a high probability of passing. Taken literally, the answer to this question is certainly no, considering the high probability that someone will simply screw up (otherwise software wouldn't have bugs!). Mitch