Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!gatech!bloom-beacon!think!ames!ucbcad!ucbvax!NMFECC.ARPA!SECRIST%OAK.SAINET.MFENET
From: SECRIST%OAK.SAINET.MFENET@NMFECC.ARPA
Newsgroups: comp.os.cpm
Subject: (none)
Message-ID: <870717211155.029@nmfecc.arpa>
Date: Sat, 18-Jul-87 00:11:55 EDT
Article-I.D.: nmfecc.870717211155.029
Posted: Sat Jul 18 00:11:55 1987
Date-Received: Sat, 18-Jul-87 19:15:20 EDT
Sender: daemon@ucbvax.BERKELEY.EDU
Distribution: world
Organization: The ARPA Internet
Lines: 62

Subject: CP/M Forths (and C, et al.)
Date:    Sat, 18-JUL-1987 00:14 EST
Header-Disclaimer: I don't like my headers either !
X-VMS-Mail-To: CPM,SECRIST     

>       In article <1251@dicome.UUCP> martino@dicome.UUCP (Mark Martino)
>       writes: >Someone mentioned that there is a version of Forth written in
>       C and it's >available in one of the CP/M sig libraries.  Has anyone
>       else heard of this? >Do you know how I can get a copy of it?  Thanks. 

Maybe I missed out on this thread but if you really just want PD Forth under
CP/M you can get lots of help - there are several fine system in the PD
(Laxen & Perry F83, Uniforth Sampler) and other useful Forths (8080 and Z80 
figs, MVP Forth-79...)

>       Well, there is "pistol".  This program compiles only under BDS C.  I
>       tried porting it to other environments with very bad results --
>       virtually every line fails lint. 

There is also one floating around allegedly from a UNIX system that is even 
worse than porting BDS: you need YACC and LEX to boot up the screen file.
It might be worth trying to compile on a UNIX system - it would be a lousy
performer though as Tom points out below.

Has anybody ported the Pascal version of PISTOL anywhere ?  It's DEC-20
Pascal and when I tried to do a minor hack for VAX/VMS Pascal I gave up.

>       I have never found a Forth in C worth fooling with.

I saw a system called "SIXTH" on the East and West coast Forth boards in
Lattice for a PC that had promise: only problem was it's core dictionary
source WORDS.C has a bad checksum coming out of the ARC.  If anybody has
a copy of this please ship it my way and I'll ship any fruitful efforts
back.

Another alternative also from the boards is a small Forth-like language
called MOUSE.  Peter Grogono gave Pascal source for that too, but it
doesn't port to VMS yet either... I'm not much for Pascal so I don't
push hard.  The Z80 source works fine under CP/M-80 though and it compiles
down into 2K.  Nice !  I can upload or FTP it someplace if there is
interest.

>       The problems have been: 
>
>       1. The Interpretter is very slow -- it goes from about 8 instructions
>       (Z-80) ending with a jump to a subroutine call in a loop (with all the
>       subroutine call overhead), and the registers cannot be globally
>       assigned.  Figure an overall 10x speed loss. 
>
>       2. No implementation I have ever found has compiled on any machine other
>       than that for which it was originally written.
>
>       3. They were all done as experiments (can Forth be written in C?) and as
>       such tend to be incomplete.
>
>       Tom Almy
>       toma@tekgvs.tek.com
>       (Usual disclaimer applies)

Have you experimented with Forth-like usages in any other HLLs ?!

rcs