[comp.lang.forth] Forth on the Amiga

Peter_Warren_Lee@cup.portal.com (07/03/89)

I'm fairly new to the Amiga and I've been looking for a good language to
use on it. I've looked at C but both versions I've heard of are at least
a couple hundred dollars. I played around with FORTH on a C-64 and liked
what I saw but never really sat down and learned it.
 Can anyone tell me how it stacks up in terms of speed compared to C or
assembly language? Also if anyone could suggest a good PD version to
learn FORTH on,I'd be grateful.
Thanks,
                             Pete

jax@well.UUCP (Jack J. Woehr) (07/05/89)

In article <20076@cup.portal.com> Peter_Warren_Lee@cup.portal.com writes:
	 ... stuff ...
> Can anyone tell me how it stacks up in terms of speed compared to C or
>assembly language? Also if anyone could suggest a good PD version to
>learn FORTH on,I'd be grateful.

	The best Amiga Forth, JForth, runs roughly at 80% the speed of
a C application, while occupying somewhat less memory. I have a 5-k
demo that opens a window and an autorequester then flakes off when
you make a selection.

	MultiForth is another fine commercial product.  I prefer JForth.
Read my review in the (August?) 1989 _Amazing Computing_.

	32-bit PD Forth: A4TH 1.5, available for download on RCFB, number
below.

	16-bit PD Forth: MVP-Forth, Fish Disk #9.

{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
{}                                                                        {}
{} jax@well     ." Sysop, Realtime Control and Forth Board"      FIG      {}
{} jax@chariot  ." (303) 278-0364 3/12/2400 8-n-1 24 hrs."     Chapter    {}
{} JAX on GEnie       ." Tell them JAX sent you!"             Coordinator {}
{}                                                                        {}
{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}

rosenber@ra.abo.fi (Robin Rosenberg INF) (07/05/89)

In article <20076@cup.portal.com>, Peter_Warren_Lee@cup.portal.com writes:
> I'm fairly new to the Amiga and I've been looking for a good language to
> use on it. I've looked at C but both versions I've heard of are at least
> a couple hundred dollars. I played around with FORTH on a C-64 and liked
> what I saw but never really sat down and learned it.
>  Can anyone tell me how it stacks up in terms of speed compared to C or
> assembly language? Also if anyone could suggest a good PD version to
> learn FORTH on,I'd be grateful.
> Thanks,
>                              Pete


With the professional version you get CLONE
that strips out everything that your program does not use. The minimum
application is around 3K after cloning. Very useful since your programs
will otherwise be a lot bigger. (lot is >> 100 K)

The answer: 42, or JForth. JForth is a commercial product. Its very
good. It compiler to straight assembly language. It compiles code
either inline or as subroutine calls (jsr), mostly depeding on the
size of the word to compile. As far as speed is concerned it's fast.

There are also a lot of prewritten interface modules for the amiga
(source-form), the forth equivalent of the amiga include files.  Two
assemblers (rpn and standard forward-style) I prefer the latter since
it is more readable. Support for object oriented programming (classes
inheritance etc).  Disassemblers. Source-level debugger.
Iff-reading/writing routines and much more. An efficient
implementation of local variables. Support for calling any library as
long as you have a .fd file. A LOT of demos utilities and sample
applications. No I did NOT mention all feature, there's too much.

Missing is support for multiple tasks. I'd suppose it is not much work to
do it myself. I just haven't done it. If anyone has implemented support
for running several tasks from the same program. Feel free to send me the code.
Also there is no support for linking with object files from other langauges.
I'd suppose that would be tricky, yet not impossible. 

Personally I think it has been a little too quiet about JForth. It
definitely deserves more attention.

You will find a pd-forth (A4th) on cs.utah.edu (128.110.4.21). It has
some interface to the Amiga ROM Kernal and c-structure support. It ought
to be fine to learn Forth with, but if you're serious, get JForth.

---              o
Robin Rosenberg, Abo Akademi, Finland

Disclaimer: I have no connection to Delta Research, other than being a happy
owner of JForth V2.0 Professional

nigel@ese.essex.ac.uk (Nigel S.H. Brooks) (07/06/89)

In article <12575@well.UUCP> jax@well.UUCP (Jack J. Woehr) writes:
>
>	The best Amiga Forth, JForth, runs roughly at 80% the speed of
>a C application, while occupying somewhat less memory. I have a 5-k
>demo that opens a window and an autorequester then flakes off when
>you make a selection.
>

An application in almost any language will run at about the same speed
when it spends most of the time doing system calls (especially window
management ones). We need some benchmarks.

+--------------------------------------------------------------------------+
|   |\  | _ _  _   _        Nigel S.H. Brooks                              |
|   | \ |  |  /   |_  |     Essex Electronics Centre                       |
|   |  \| _|_ \_| |_  |_    Univ. Essex UK     Email: nigel@ese.essex.ac.uk|

pmy@vivaldi.acc.Virginia.EDU (Pete Yadlowsky) (07/06/89)

In article <12575@well.UUCP> jax@well.UUCP (Jack J. Woehr) writes:
>In article <20076@cup.portal.com> Peter_Warren_Lee@cup.portal.com writes:
>	 ... stuff ...
>> Can anyone tell me how it stacks up in terms of speed compared to C or
>>assembly language? Also if anyone could suggest a good PD version to
>>learn FORTH on,I'd be grateful.

>	The best Amiga Forth, JForth, runs roughly at 80% the speed of
>a C application,

You may be right, I don't know, but I'm wondering how you come up with
this number. Doesn't it depend on the application, compiler, programmer's
skill, etc? For instance, when writing a JForth application, I tend to code
time-critical stuff in assembler. This is quite easy to do in JForth, and
I consider mixed Forth/asm to be a natural characteristic of the Forth
environment. Not so, C.

>while occupying somewhat less memory. I have a 5-k
>demo that opens a window and an autorequester then flakes off when
>you make a selection.

Qu'est-ce que c'est "flakes off"?

	a fellow JForther...



Peter M. Yadlowsky		| "Pay no attention to that man
Academic Computing Center	|	behind the curtain!"
University of Virginia		|
pmy@Virginia.EDU		|

douglee@becker.UUCP (Doug Lee) (07/08/89)

While on the subject of Jforth, I am considering upgrading to the new 'improved'
commercial package. Does anyone know if it supports 68020/881's. Same question
regarding Multi-Forth. THEY promised this in my manual for an upcoming release.
			       <<<Doug>>>

			       douglee@becker