Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!pt.cs.cmu.edu!dsl.pitt.edu!pitt!willett!dwp From: dwp@willett.pgh.pa.us (Doug Philips) Newsgroups: comp.lang.forth Subject: Re: DOER..MAKE Message-ID: <1497.UUL1.3#5129@willett.pgh.pa.us> Date: 10 Aug 90 03:33:06 GMT References: <9008081745.AA29723@ucbvax.Berkeley.EDU> Organization: String, Scotch tape, and Paperclips. (in Pgh, PA) Lines: 82 MB>Another common technique is the DOER ... MAKE construct described in MB>_Thinking Forth_ . Personally, I do not like DOER ... MAKE because it MB>adds yet another non-postfix syntactic construct to Forth. CE> I'm surprised you feel this way. The DOER...MAKE construct strikes me CE> as being no more non-postfix than the _double_ non-postfixedness (??) of CE> both ' and IS with DEFER. Just checked my copy of _Thinking Forth_. Most of the book is sprinkled with quotes from various people, CM included, that support the authors position. The section on DOER ... MAKE is prefaced with: The traditional techniques for implementing vectored execution are described in _Starting Forth_, Chapter Nine. In this section we'll discuss a new syntax which I invented and which I think can be used in many circumstances more elegantly than the traditional methods. There are no quotes in the 6 pages he takes to describe and give examples of his two new words. I think that that lack of quotes is significant. In the end, I agree with Mitch on this point. MB> Every non-postfix contruct detracts from the regularity and MB> understandability of the language, because non-postfix constructs MB> behave differently in different states. They are also difficult to MB> decompile and difficult to metacompile. This argues strongly against adding non-post-fix constructs. I don't think it is powerful enough an argument to rule out any non-post-fix constructs. MB> MAKE is particulary troublesome because it introduces yet another way MB> to start a colon definition. There ought to be just one way to start MB> a colon definition, but there are currently 2 ( : and DOES> ), and MB> MAKE is a third. [ . . . -dwp] MB> Similar comments apply to DOES> ; the problems with DOES> were recognized MB> many years ago ("A New Syntax for Defining Words" Bill Ragsdale, Forth MB> Dimensions, Vol.2 No.5, Jan. 1981). Ok, so I'll ask the obvious question, though it isn't really a technical question: _Why_ hasn't Ragsdale's idea caught on? I just skimmed the article and it made a lot of sense to me. On the other hand, I'm a novice to Forth, so "made a lot of sense to me" could be a bad sign. MB> lies in the fact that it is sort of like English. Unfortunately, MB> Forth syntax isn't very much like English in any other way, so MB> trying to use English as a guide is not likely to be productive. Chuck Moore (as quoted by Brodie in _Thinking Forth_, page 262) I would distinguish between reading nicely in English and reading nicely. In other languages such as Spanish, adjectives follow nouns. We should be independant of details like which language we're thinking in. It depends on your intention: simplicity, or emulation of English. English is not such a superb language that we should follow it slavishly. MB> In my oponion, most of the technical problems with Forth arise from MB> places where Forth departs from its postfix heritage and attempts to MB> be "like English". CREATE is the prime example. I think there is a distinction to be made here. As I understand the simplifying power of Forth, and with simplicity in general, one *can* take it too far. I'm inclined to agree with you here. I would like to see a standardize kernel that is much more postfix. From that you can build the "friendly" user stuff without making it hard to write programs that write programs. MB> An important test of power: The Forth Way can be defined in terms MB> of the Right Way, but not vice versa, e.g. I don't know that I'd want to buy into the morality of "the Right Way", but I think the point about expressiveness and power is true. -Doug --- Preferred: ( dwp@willett.pgh.pa.us OR ...!{sei,pitt}!willett!dwp ) Daily: ...!{uunet,nfsun}!willett!dwp [last resort: dwp@vega.fac.cs.cmu.edu]