Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!willett!ForthNet From: ForthNet@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Category 10, Topic 16 Message-ID: <178.UUL1.3#5129@willett.UUCP> Date: 5 Jan 90 16:04:23 GMT Organization: Latest Link in ForthNet Chain Lines: 51 Category 10, Topic 16 Message 83 Sun Dec 24, 1989 R.BERKEY [Robert] at 09:06 PST Roedy Green writes: RG> 7.0610 ?DO RG> You might consider changing the definition to match RG> Ray Duncan's so that -LOOP works too. I agree. (1) The ?DO 's that I know of all have the same definition. It's a fundamental definition, which, for example, appears in the 8086 REP opcode. (2) The BASIS ?DO is easy to code in high level with the conventional ?DO : ... OVER MIN ?DO ... while there is no way to implement a conventional ?DO with the BASIS ?DO . (3) The justification given for a new ?DO is itself outside the scope of a Standard Program: that during development, getting the parameters backwards leads to pushing the reset button. I don't see this as substantive: it only happens to me a few times a year, and many programmers have an interrupt function that obviates the need for a reset even then. (4) Adding the new ?DO to existing code with the conventional ?DO requires either analysis of compatibility for all cases, or finding a new name for ?DO . Why find a new name and change existing code, when the new function can be the one with a new name? --- The BASIS ?DO is incompatible with existing ?DO 's in that THEN must be added after LOOP : ?DO ... LOOP THEN Suppose BASIS restores a conventional definition for the runtime of ?DO . Does this compilation change warrant a new name for ?DO ? I'm inclined to say no. What are other opinions? And name preferences or suggestions? ----- This message came from GEnie via willett through a semi-automated program. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'