Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!willett!dwp From: dwp@willett.UUCP (Doug Philips) Newsgroups: comp.lang.forth Subject: X3J14's BASIS10 def'n for LEAVE Message-ID: <268.UUL1.3#5129@willett.UUCP> Date: 15 Jan 90 19:07:32 GMT Organization: Latest Link in ForthNet Chain (Pittsburgh, PA) Lines: 18 Thanks to Wil Baden for pointing this out: As I understand BASIS10, LEAVE will work as follows: DO .... LEAVE ... DO ... LOOP (b) ... LOOP (c) ... |--------------------^ that is, it will jump to point (b) instead of point (c). WHY? Surely LEAVE should work the same whether or not the inner DO...LOOP is explicit or whether it is part of another word, or whether it is the result of immediate word execution(s) during compilation? What benefit has been gained from this behaviour that will more than offset the utility which has been lost? Is there existing practice to justify it? -Doug --- Fastest: (willett!dwp@gateway.sei.cmu.edu OR ...!sei!willett!dwp) ...!{uunet,nfsun,sei}!willett!dwp [in a pinch: dwp@vega.fac.cs.cmu.edu]