Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!usc!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!pitt!willett!ForthNet From: ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: User Interface Message-ID: <2191.UUL1.3#5129@willett.pgh.pa.us> Date: 2 Jan 91 12:38:34 GMT Organization: String, Scotch tape, and Paperclips. (in Pgh, PA) Lines: 76 Date: 12-30-90 (13:02) Number: 733 of 744 (Echo) To: GARY SMITH Refer#: 716 From: RAY DUNCAN Read: NO Subj: USER INTERFACE Status: PUBLIC MESSAGE Conf: FORTH (58) Read Type: GENERAL (+) Mitch Bradley writes: >I do know that ... I used a version of LMI Forth >that did not compile from text files... In this you are certainly correct, and I guess I misunderstood some aspects of your original message. I did not notice that you were drawing a distinction between file-based Forth systems and Forth systems that could compile ordinary text files. All of our systems since the original Z-80 FORTH for CP/M 2.2 in 1980 have been file-based, and have included a complete set of words that allow an application to open, create, read, and write any arbitrary file in the host file system. However, for a very long time we did not support compilation of Forth source code from ordinary text files. The interpreter/compiler always assumed that source code took the form of BLOCKs stored in a simple random-access text file, 1024 bytes per record, and it always had a "current" block file which was the target of Forth commands such as BLOCK, FLUSH, and so on. The user could change the "current" block file with the USING command. The ability to compile Forth source code from conventional ASCII text files was not added to LMI systems until circa 1986 (might be a year earlier or later; I don't have version information handy). We use the command INCLUDE for this type of compilation (although I don't claim that we thought up the term INCLUDE). Our INCLUDE can compile from either block files or text files and supports nested compilation (the number of nesting levels is user configurable). I must say that although our systems have supported compilation from text files for some years, I still find myself using blocks in files 99% of the time. I like the flexibility and the "random-access" character of blocks, I like using my own full-screen block editor which I can modify at will instead of an external text editor, and I like the ability to put a simple BLOCK/BUFFER/UPDATE/SAVE-BUFFERS/ EMPTY-BUFFERS/FLUSH interface in a ROM'd target system and use the PC as a BLOCK server over a serial link. I'll be the first to admit that this is simply a matter of taste, and that if I invested the time to write a text file editor in Forth and make our text file compilation facilities more powerful (e.g. the ability to "mark" a piece of text within a file and then compile it selectively) I might find Forth code in text files a more friendly environment. Your point about the lack of standardization in Forth file interfaces is certainly well taken. Our original file access word set was not very well thought out, and we didn't arrive at our current stdio-type interface until about 1986 after we had done a couple of custom ports to UNIX systems and saw the need for a file interface that would map easily onto DOS, UNIX, OS/2, Macintosh, Atari ST, and whatever else. I guess this was about the same time frame as you started promoting this concept at FORML etc. but since I don't attend Forth hobbyist events I didn't become aware of your work immediately. (By this I do not mean to imply that you are only a Forth hobbyist, but only that the papers at FORML and similar events often show a shocking ignorance of what people are doing with Forth in commercial systems.) In another message, you mentioned that the Forth Vendors Group Floating Point Standard has not been heard of lately. This is true but I believe (or at least hope) that the word set defined in that document is still widely used. We use it, anyway. NET/Mail : LMI Forth Board, Los Angeles, CA (213) 306-3530 <<<>>> ----- This message came from GEnie via willett. You cannot Reply to the author using email. Please post a follow-up article, or use any instructions the author may have included (USMail addresses, telephone #, whatever). Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp