Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!TWNITRI1.BITNET!KX10LYC0 From: KX10LYC0@TWNITRI1.BITNET Newsgroups: comp.lang.forth Subject: Re : Forth in C Message-ID: <9104181346.AA06510@ucbvax.Berkeley.EDU> Date: 18 Apr 91 02:22:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: KX10LYC0%TWNITRI1.BITNET%CUNYVM.CUNY.EDU@SCFVM.GSFC.NASA.GOV Organization: The Internet Lines: 62 > I'm looking for better options for a Forth implementation in C to port to > my UNIX box. I'm aware of cforth in the uunet archives, but it really > doesn't really do it for me, as it has 16 bit integers only, requires > blockfiles, upper case dictionary only, etc. I'm wondering if anyone has > implemented a richer environment, better integrated with the rest of the > UNIX environment. > > Thanks, > Andy Valencia > vandys@sequent.com I use the Sun SPARC station 2 and Sun-3/160 (68000) machines both run UNIX systems. And there are 3 versions of FORTH on them. Sun Forth - written by Mitch Bradley (68000) PolyForth - written by Forth Inc. (68000) OPEN BOOT PROM - written by Sun Microsystem, Inc. (SPARC) I believe the Sun Forth is a 32-bit Forth on hardware-riched environment (ex. workstation). Sun Forth abandoned the "block" concept in usual Forth, but used the UNIX file I/O system to handle data. I really get lots of fun from it on my Sun-3 machine. OPEN BOOT PROM is a stand-alone Forth developed by Sun, it is used to control the SPARC machine selftesting and system initialization on SBus. OPEN BOOT PROM adapts the Forth 83 standard and expands it to include some Sun's private words. I suppose OPEN BOOT PROM is the first version of Forth on RISC machines. Forth had been implemented on diverse computers, from microprocessors to supermini (ex. VAX machine), but not RISC machines previously. Usual Forth uses the tiny resource, like 64K bytes memory and 16-bit stack. But this is not practicle now. Modern computer has over 1 meag bytes memory and almost can support UNIX system. I strongly believe that Forth must modify itself if it want to survive in future. Parallel Processing is the computer trend, but I don't see any man or project using Forth to take care this problem. LISP is the common language that used on P.P., but why not Forth? Forth is the threaded interpretive language (TIL) and it uses the threads to chain its commands (words). It is good for small computer, because by threads the only small memory is requird. But this is also the problem that will kill the Forth ! TIL will cause the CPU to spend most of its time on jump instruction, until it reaches to primitive words (machine language). This situation violates the "locality" rule in computer science. Small code size doesn't equal to faster speed ! I just wonder and interest if any one uses the Forth on Parallel Processing or RISC machines. Also Sun use the OPEN BOOT PROM, but it only uses the Forth for testing and initialization when power-on. If someone tell me that he uses the Forth to perform the Fast Fourier Transform (FFT), I think I will be very glad to hear that. ---------------------------- | | | Yin-Chih Lin | | kx10lyc0@twnitri1.bitnet | ----------------------------