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.
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 |
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:
| 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 |
| 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 |
| 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 |
| 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 |
| 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:
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.