Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!decwrl!ucbvax!MITCH.ENG.SUN.COM!wmb From: wmb@MITCH.ENG.SUN.COM Newsgroups: comp.lang.forth Subject: Re: DOER..MAKE Message-ID: <9008101346.AA02615@ucbvax.Berkeley.EDU> Date: 9 Aug 90 18:30:55 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: wmb%MITCH.ENG.SUN.COM@SCFVM.GSFC.NASA.GOV Organization: The Internet Lines: 24 > On the other hand, I appreciate the value of a foundation that is > simple, consistent, and regular, and I know how the traditional Forth > model fills decompilers and metacompilers with ad hoc-isms that must be > expanded with the addition of each new non-postfix-ism. > > I remain torn. Perhaps there's a cure waiting for me out there somewhere. > Thanks for an excellent response. I think it is possible to "have your cake and eat it too" in this case. I have no problem with adding "syntactic sugar" *on top of* a regular postfix foundation. If the primitives are done correctly, then it is often easy to define the "syntactic sugar" in terms of the primitives. The converse is usually not true. A number of Forth constructs are defined at too high a level. FIND is one example (there should be a primitive VFIND that searches just one vocabulary). FORGET is another (the operation of unlinking words from a vocabulary should be separate from the operation of reclaiming the dictionary space). As previously stated, the operations of creating the executable object and giving it a name should be separate in defining words. Cheers, Mitch