Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!sunbelt!eaker From: eaker@sunbelt.crd.ge.com (Charles E Eaker) Newsgroups: comp.lang.forth Subject: Re: Conditionals ! Message-ID: <17743@crdgw1.crd.ge.com> Date: 20 Mar 91 20:27:33 GMT References: <2507.UUL1.3#5129@willett.pgh.pa.us> Sender: news@crdgw1.crd.ge.com Organization: General Electric Corporate R&D Center Lines: 45 > > [ condition [IF] ] > >Someone correct me if I'm wrong, but my understanding is that you'd have to >use > [ condition ] [IF] > >and that the construct posted by Charles Eaker would actually have dangerous >side effects, since if the condition is true, ']' is skipped and the system >remains in interpret state. Oops! Blush! Duh! I just put a huge dent into my forehead. However, thinking quickly, I miraculously turn this into an argument for my IF( )ELSE( )THEN naming proposal in which the parentheses clearly indicate the scope of what is, and what is not, skipped in the input stream. Consequently, the construction [ condition IF( ] T-stuff )ELSE( F-stuff )THEN clearly *looks* wrong because the over-lapping scopes are quite evident especially when compared to the correct [ condition ] IF( T-stuff )ELSE( F-stuff )THEN If I had recast the example in terms of these names, I would have seen, literally, the error immediately. In the original example, [ condition [IF] ] the brackets appear to be "properly" nested in some way. This is another reason, I think, against the [IF] set of names, and must be what I *really* had in mind when I said the brackets are mis-leading. The [IF] word only opens a scope. It does not represent, as the brackets strongly imply, a fully self-contained, interpreted scope in the same way that ['] does. -- Chuck Eaker / P.O. Box 8, K-1 3C12 / Schenectady, NY 12301 USA eaker@crd.ge.com eaker@crdgw1.UUCP (518) 387-5964