Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!willett!GEnie From: GEnie@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Category 1, Topic 45 Message-ID: <64.UUL1.3#5129@willett.UUCP> Date: 22 Dec 89 03:29:45 GMT Organization: Latest Link in ForthNet Chain Lines: 87 Message 5 Thu Dec 21, 1989 R.BERKEY [Robert] at 00:58 PST To: Frank Sergeant FS> ...I am changing the spelling of LMOVE to MOVEL . I had not FS> even realized there was a convention in regard to that... Um, the only "convention" ("a general agreement about basic principles or procedures") existed in it being a pattern amongst a handful of Forth's I'd seen, and that Tom Zimmer is aware of the pattern. Given the absence of counterexamples and your concensus, there does seem to be general agreement. So much the easier if code is being ported. What I find curious is that there are a significant number of Forth's; PYGMY, BBL, and F-PC now included, that use the segment below, even though this goes counter to the Forth convention of having the least-changing object on top, such as with a double number and with DO . Preferring the segment-on-top words, I've added them to my F-PC system. I've found that segment-on-top systems need the word +UNDER . FS> Is there a better way to code < & > There's a way to do it without a branch, but whether this is better may depend on NEXT and other implementation and processor characteristics. CODE < ( n n -- Flag ) ( LEAVE BOOLEAN TRUE IF SEC < TOP ) DX POP AX POP $80 #, AH XOR $80 #, DH XOR DX, AX SUB AX, AX SBB AX PUSH NEXT END-CODE FS> I think part of what I'm saying is that a standard evolves when we FS> search for what is right rather than when we search for a standard. Yes, that sounds related to Wirth's concern that standards get put in place on languages prematurely. Everybody seems to have a different idea of what standards are. The MUMPS ANS committee notes that they never remove language features. But there's never been a Forth committee to weigh that as a fundamental principle. Maybe it would be more realistic and constructive for the Forth committee to specify Forth as a living language. FS> ... ( a - a'). Should it be cmTYPE or TYPEA or what? Any FS> ideas? Anyone know any history about Chuck's ( a - a') vs FS> ( a # -)? I'm also adding COUNT ... In F-PC, the operator to convert an address and length string back to a counted string is ">$ . I've picked up on that to use $ in names which reference a counted string in memory, and " when there is an address and length on the stack. Chuck's TYPE is especially interesting in the Pygmy word dot" . POP TYPE PUSH ; Purdy darn clever. But in PYGMY most of the time TYPE is followed by a DROP , and it can only be used with byte-counted strings. For general use, I don't see it. Me, I'm moving toward address and count, such as the BASIS >NUMBER in place of CONVERT . Your comment about Chuck's COUNT has me curious as to what his does. FS> opening a new file - error... I have FILES=20 & BUFFERS=20 in my FS> CONFIG.SYS file. Any chance you are using a smaller number... Yes, that's it! FILES=12 was in CONFIG. FS> ...maybe I should name nothing with a "U" prefix as why bother FS> if unsigned operators are the only ones in the system. How about readability and portability. There exists some standard's sentiment to redefine the 1982 division names as limited to use on the range of numbers 0..32767. This would mean that the implementations of the unsigned Pygmy words as well the 1979 division words would fall within the scope of the standard. It might be useful to be aware that for this range of numbers division works the same on all Forths. But I think that for the Standard, the idea is superficial. ------------ ----- This message came from GEnie via willett through a semi-automated program. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'