Date : Sat, 18 JUL-1987 00:14:00 EST
From : SECRIST%OAK.SAINET.MFENET@nmfecc.arpa (Richard C. Secrist)
Subject: CP/M Forths (and C, et al.)
> 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