Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!mcsun!hp4nl!tuegate.tue.nl!eutws1!rcstjs From: rcstjs@eutws1.win.tue.nl (Jan Stout) Newsgroups: comp.lang.forth Subject: various BASIS10 remarks & suggestions Message-ID: <1637@tuegate.tue.nl> Date: 21 Mar 90 12:19:46 GMT Sender: news@tuegate.tue.nl Organization: Eindhoven University of Technology, The Netherlands Lines: 50 1. >COLROW I don't like the unpredictable operation of this word (which arguments lead to proper operation) and would therefore like to see some variables like #COLS and #ROWS (meaning the max # of colums, max # of rows resp. on the current output device...) to enter the Standard. A value of 0 could signify a non-COL/ROW oriented outputdevice. (Is there an account available of Forths using the y x -AT syntax?) 2. ?KEY Hasn't anyone read Brodie's Thinking Forth ??? I'd say ?KEY's primary function is to establish if a key is struck, yes or no. Clearly this reflects a boolean function. I'd suggest KEY? as the proper name for this function, bearing in mind Brodie's Forthics. 3. S>D and D>S These words use the S to indicate single precision numbers. Throughout the remaider of the Standard the single-precision-type-indication is simply omitted. At first sight >D and D> seem appropriate, but D> should stand for `double precision greater than' so other analogies are called for. My suggestion is N>D and D>N because of the abbreviation of singles in stackcomments. 4. COMPILE Can anyone explain to me why a definition of : COMPILE >R DUP 3 + >R C@ C, ( store the JSR ) @ , ; wouldn't run on subroutine threaders? 5. ?DO I'd say TD never has implemented his own DO-LOOP, since during compilation ?DO's extra adres can be seen by LOOP as just another LEAVE reference and be solved accordingly. Whether this should be called `smart' is ^2U. (Why not let the orig dest duo be sys anyway?) 6. INVERT NOT's renaming because of F79 ad FIG compatibility strikes me as rather nonconsistent: the 79 NOT comes from an environment where 1 instead of -1 meant TRUE, so `and' and `or' operators could be implemented by * and + respectively. The F83 Standard however, discarded of this (inefficient) concept and made -1 truth, thereby condemning NOT to bitwise operation as a member of the AND, OR and XOR team. It seems strange for NOT to adhere to the old valuation-model, especiallly when 0= is available to achieve the same goal. 7. #>, EXPECT, FIND, FORGET I'd prefer all string operators to accept 'em uncounted and deliver 'em counted, like TYPE ad WORD do, to increase flexibility and uniformity. PS: I've been looking for "'s definition is the F83 standard, but found none...