Engines

Supported Forth engines

FFL will run on and is tested with the following forth engines :

Engine Since
GForth 0.1.0
BigForth 0.2.0
PFE 0.3.0
Win32Forth 0.4.0
Fina 0.5.0
MinForth 0.5.0
iForth 0.6.0
SP-Forth 0.7.0
lxf/ntf 0.7.0
VFXForth 0.8.0
SwiftForth 0.9.0

For these forth engines there is a config file present in the distribution package.

Unsupported Forth Engines

FFL will not run on the following forth engines :

Engine Version Reason
kForth Missing ANS words
ciforth 4.0.6 Missing ANS words
pforth Missing ANS words
isforth Missing ANS words
4th Missing ANS words
helforth 2.51 Missing ANS words

Not yet checked Forth Engines

Environmental dependencies

A few modules have environmental dependencies. As a result they will not be present for some forth engines. For these modules you should test the presence of the version constant after loading the module (see Using Getting started).

GForth BigForth PFE Win32Forth MinForth iForth SP-Forth lxf/ntf VFXForth
Argument Parser (arg) Yes No Yes No No No No No No
Distributed Random Number Generator (rdg) Yes No Yes Yes Yes Yes No No No
Timer (tmr) Yes Yes Yes Yes Yes Yes Yes Yes Yes
GTK-server interface (gsv) Yes No Yes No No ? Yes Yes Yes

Some notes for the GTK-server interface:

Benchmarks

Version 0.8.0

GForth BigForth PFE Win32Forth MinForth SP-Forth lxf VFXForth
Compile Time (msec) 1087 251 459 1467 4280 2680 344 500
Compile Size (bytes) 247784 210820 222204 218196 231732 214777 211599 356392
Test Time (sec) 4.2 2.9 11.2 8.7 48.6 5.6 2.1 2.1

Version 0.7.0

GForth BigForth PFE Win32Forth MinForth SP-Forth lxf
Compile Time (msec) 850 328 517 1248 3780 2530 310
Compile Size (bytes) 224912 196089 209764 203748 215676 201260 206142
Test Time (sec) 4.1 3.4 11.2 11.3 49.0 5.6 2.0

Version 0.6.0

GForth BigForth PFE Win32Forth MinForth
Compile Time (msec) 1774 352 720 2630 9440
Compile Size (bytes) 169560 146406 166704 97176 106600
Test Time (sec) 7.9 8.2 24.1 15.3 140.2

Version 0.5.0

GForth BigForth PFE Win32Forth MinForth
Compile Time (msec) 1020 220 374 1760 6100
Compile Size (bytes) 132724 115090 133796 75696 83128
Test Time (sec) 6.8 8.2 23.6 14.3 132.9

Version 0.4.0

GForth BigForth PFE Win32Forth
Compile Time (msec) 690 158 255 1200
Compile Size (bytes) 103132 89710 112628 59660
Test Time (sec) 3.8 6.2 9.2 9.6

Legenda:

Notes:

Porting

As already stated the FFL is mostly written in ANS forth. If the forth engine you are using, is not listed on the [Engines] page and it conforms to the ANS-standard, you can try porting ffl to your forth engine by adding words to and removing words from the ffl/config.fs file. If you succeed, you can send me the config.fs file so that I can add it to the distribution.