Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!willett!ForthNet From: ForthNet@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Category 10, Topic 35 Message-ID: <183.UUL1.3#5129@willett.UUCP> Date: 5 Jan 90 16:04:48 GMT Organization: Latest Link in ForthNet Chain Lines: 38 Category 10, Topic 35 Message 74 Fri Dec 22, 1989 R.BERKEY [Robert] at 07:42 PST To: Roedy Green RG> 7.0340 2>R RG> Remove the editor's note on why DO parms are backwards... I agree, even if for a different reason. What the 2>R rationale doesn't quite say is that DO has been implemented on pre-1983 system's as: : DO COMPILE 2>R ; IMMEDIATE with the parameter's for DO having been set long before this 1981 implementation was noticed. Upon learning of 2>R , I at first thought that the parameters were backwards, a kludge to save a few bytes by not having a (DO) . Later I realized that they aren't backwards. Looking at how the numbers appear in memory, this version maintains the double number. Another way to describe this is that 2>R can be implemented using 2@ and 2! . If the rationale given in BASIS was the reason for this order of parameters now being standardized, I'd be opposed to it: because standardizing a word designed for obsolete loops that speed optimize on DO is standardizing garbage. Anyway, thanks for your comments about the 2>R rationale. Robert Berkey ----- 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'