Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!sri-unix!hplabs!tektronix!tekcrl!tekgvs!toma From: toma@tekgvs.UUCP (Thomas Almy) Newsgroups: comp.lang.forth Subject: Re: DOS access Message-ID: <1910@tekgvs.UUCP> Date: Wed, 26-Nov-86 17:28:36 EST Article-I.D.: tekgvs.1910 Posted: Wed Nov 26 17:28:36 1986 Date-Received: Sun, 30-Nov-86 19:25:08 EST References: <3674@sdcc3.ucsd.EDU> Reply-To: toma@tekgvs.UUCP (Thomas Almy) Organization: Tektronix, Inc., Beaverton, OR. Lines: 52 In article <3674@sdcc3.ucsd.EDU> ma168a@sdcc3.ucsd.EDU (John Wavrik) writes: > > Most of my work with Forth (for 8 years) has been in mathematics research. > I have also used (MMS) Forth packages to meet my word-processing and > database needs. >... > It not my job to implement languages. I realize that it is easiest to > implement a compact, self-contained programming environment. I cannot assess > what is involved in extending the environment. I can only report, as an avid > Forth user, the frustration of knowing how do do something useful in the > "outside world" but feeling boxed in by a system that does not provide > outside access. > ... > I wonder if there has been any work concerning the interaction of Forth > with "foreign" operating systems. There are many Forths that run under "foreign" operating systems. I started with MMS Forth for the TRS-80. While MMS-Forth is a fine system, I too was agravated by lack of DOS access. Besides missing file access, I could not access new storage devices without having to write my own drivers! I ended up implementing my own Forth for the TRS-80 (which I readily ported to CPM at a later time). Having gotten used to such an environment, since there are no generic Forths for Z-80 systems except those which run under CP/M, I have avoided them ever since. For instance I have a copy of PolyForth for the IBM/PC that is such a good test of PC compatibility that it refuses to run on every clone I have tried! Currently I use Laboratory Microsystem's UR/Forth (note -- I do have some financial connection to LMI since they sell my NCC and CFORTH products, but no financial connection concerning UR/Forth). This is a "well behaved" program that allows full I/O redirection and supports the MS-DOS file and device interface. You can even execute other programs from within Forth with the SHELL command. Unlike other implementations, this one was generated by "compiling" each word into an object module, and then linking all the modules with the MS-DOS linker. It is possible to link to subroutine packages in other languages for such things as math/stat packages, graphics/windowing, or whatever suits your needs. You can also make use of resident utilities (Sidekick, keyboard enhancers, spoolers...) and can run the program under a windowing environment. In fact, they evey have a Xenix version. This Forth, and most Forths that run in a DOS environment, allow loading code from text files. Screen files are still supported for die-hards (including me, by the way), although the combination of Sidekick and Forth is very handy. Even with my fond memories of MMS Forth (I originally wrote my CAD system in it), I would never go back. Tom Almy