wmb@MITCH.ENG.SUN.COM (02/27/91)
> > A long time ago, I proposed including all the conditionals (< > = <= >= U< > > U> U<= U>= 0< 0> 0= 0<= 0>=) in ANS Forth, but it didn't pass. > Anyway, what did you mean with (< (not a rethorical question)? I was just listing the complete set of conditionals, without regard to which ones are already in the standard. In fact, I don't even know which ones are in the standard and which ones aren't. I long ago decided to to include all of the conditionals in my Forth systems , and since then I haven't bothered to memorize which ones are "standard". By the way, on a 1's complement or signed magnitude machine, it might be necessary to have U= and perhaps U0= , because such machines have 2 different representations for 0. U= would test for "bitwise identical", and = would test for arithmetically equal, considering +0 equal to -0 . Mitch Bradley, wmb@Eng.Sun.COM
NER034@PRIME-A.TEES-POLY.AC.UK (03/08/91)
I do not like the words .IF .ELSE and .THEN, personally I would go for [IF], [ELSE], and [THEN], although I did put forward a proposal for /IF( ), /ELSE, /ENDIF, /ELSEIF( ), witch I feal is significantly different from any existing words. Also the use of the parenthesis means that you can define your flag normally. Ie: TRUE CONSTANT DEBUG ... /IF( DEBUG ) ... /ENDIF However, I would like to point out that we *DO* teach Forth to two of our classes. One of the first words we get them to define is .IF This simply displays the text True or False. However it is a vary useful debugging word and a most logical name (according to the naming conventions). Peter Knaggs +-----------------------------+-----------------------------------------------+ ! School of Comp. & Maths., ! Janet: NER034 @ uk.ac.tees-poly ! ! Teesside Polytechnic, ! Bitnet: NER034 % tp.ac.uk @ UKACRL ! ! Middlesbrough, ! Internet: NER034 % tp.ac.uk @ cunyvm.cuny.edu ! ! Cleveland, England. TS1 3BA ! Uucp: NER034 % tpoly.ac.uk @ ukc.uucp ! !-----------------------------+-----------------------------------------------! ! It is not enough to do the right thing; one must also do it the right way. ! +-----------------------------------------------------------------------------+
wmb@ENG.SUN.COM (03/30/91)
> > custom. This usage of '#' (#IF) doesn't conflict with its traditional one. > It doesn't conflict with the use of '#' in pictured numeric output? I > have to disagree with you here. It is incorrect to say that pictured numeric output is *the* traditional use of '#'. That is just one of the traditional uses. Another is in the word #TIB . The point is that the character '#' has much less traditional "meaning" in and of itself than '.' When most Forth programmers see '.' at the beginning of a work, they think "aha, a printing word". '#' elicts much less of a response. > Moreover, I sometimes use my C pre-processor on my Forth code, and this > would conflict with THAT! True, but I bet that you represent a very small minority in this respect. I have been using Forth under Unix for many years, and I don't recall ever having done this. In any case, it appears to me that ForthNet seems to have developed a loose consensus favoring the [IF] names, and the reaction to the question of whether or not to have the conditional compilation words at all seems to be leaing toward having them. I shall present this information to the ANS committee at the next meeting. Mitch Bradley, wmb@Eng.Sun.COM