lina : a LInux NAtive Forth for Intel

All executables are called lina, however the source and the documentation have 32 and 64 bit in their names. You can download here release 5.4 of a 64 bit lina, in debian package form.. And there is 64-bit ISO Forth tar-bal for Linux Intel
You can download here release 5.4 of a 32 bit lina, in debian package form.. And there is 32-bit ISO Forth tar-bal for Linux Intel
These are binary downloads, ready to run, with documentation ready to be viewed or printed. The assembler source is normally in the .s used by the GNU assembler (gas or as), but other formats may be included also. An important addition since release 5 is a floating point package. See also the releasenotes for version 5.1 .. 5.3; at last some obsolete items have been removed.
A former stable beta release for Linux (2017 oct) is available in 32-bit and 64-bit . This is the first release to contain a floating point package.
release 4 version is still available, as there may still be programs published on this site requiring version 4. . For previous releases 5 and 4 and still older versions you may search my FTP-site (temporarily unavailable). In fig/eForth tradition it is based on an assembler in only one file, so no c-code is present nor are any c-libraries called.

Features, present in the archive:

If you want to modify and rebuild it from assembler source, for 32 bits you may use at your discretion the gas format, fasm or nasm. The excellent nasm assembler version .98 has been used to generate the binary in the distribution up till version 4.
Since the gnu Intel assembler supports the directive .Intel_syntax prefix, which forces Intel's non-standard destination-source order of operands, it became feasible to supply a .s file that can be assembled on any system equipped with a gcc compiler. This too is supplied in the archive. Use the instructions contained in the file to assemble it. A long time the gas format was the only one that works for the 64 bits version. Now fasm is available and much preferred.

Apart from above source and documentation, the wc program is included in this archive. The wc wordcount program is an example of how to use lina as a scripting language. The only environmental dependancy is using Linux system calls.
It has become a bit of a disgrace since the later version have much better facilities for scripting than this year 2000 example. It only works with version 4 lina's. It is kept as an example how easy scripting with a Forth can be, even though very primitive.

lina : a LInux NAtive Forth for ARM

All executables are called lina, however the source and the documentation have 32 and 64 bit in their names. 64-bit ISO Forth tar-bal for ARM
You can download here release 5.5.1 of a 32-bit ISO Forth tar-bal for ARM
They have been tested extensively on respectively the Raspberry Pi one, and the Orange Pi One Plus and the Orange Pi 800.
Previous versions may be available stil in the ftp site if that may be restored.

lina : a LInux NAtive Forth for RISC-V

All executables are called lina, however the source and the documentation have 32 and 64 bit in their names. You can download here a dated beta release (on the level of 5.4) of a 64-bit ISO Forth tar-bal for RISC-V
It has been tested on DongshanNeZha STU board with only minor shortcomings under Ubuntu 22.04.

The generic system, compiler factory


All the Forth's mentionned, can be generated by the ciforth generic system at github archive: ciforth, computer intelligence Forth The github archive for contains extensive source material, for MSDOS, DPMI, stand alone (booting) Forth's etc. It contains a wiki and a possibility to report defects.
Use the generic system for more important changes.
Since version 5 the assembler fasm has been used. The generic system creates the assembler files, If you prefer another format, you can use the Makefile to generate it, using m4 files.

Experimental coloring version

You can also download the experimental (unstable) version called 4.1.22. It has a number of small improvements over the stable version. Most important, it allows color high lighting using the stack effect analyser and a drop-in replacement for the kernel: lina+a. It shows the words with color high lighting, as follows.
        lina+a -r
        "analyserconfig.frt" INCLUDED
        "color.frt" INCLUDED
        DO-COLOR WORDS
The file smallanalyser.frt can be used to add the stack effect for new words. For more information see the supplied sources.

lina release 5, 64 bit version

New in release 5 is the 64 bit version. The 64-bit version is called lina too, it is possible to have the two versions installed at the same time, but you have to rename lina to lina32. The 64 bit version has threading activated.

lina release 5 changes

Some substantial changes are made with respect to the introspective properties of the Forth, which in the end should make a good optimiser possible. Like in the above 4.22 snapshot version, a mechanism is in place to allow to derive (semi-)automatically the stack effect of words. On top of that there are numerous small improvements and additions to the library.
An important change is the rename of REQUIRE to WANT such that the Forth doesn't become incompatible with upcoming additions to the Forth standard. So the -r option is replaced by a -w option.
All code published on this site that is intended for 4.0.6., can be run on a release 5 ciforth after WANT -legacy-. , but testing is still in progress.
Release 5.2 uses 64 bits system calls instead of 32 bits system calls. I thank mr. Ken Wilson for contributing code for 64 bit system calls and pointing out the problem in the first place.

There is a list of current defects . See also the list of defects of the generic system. .


This binary distribution is based on a generic Intel Forth system that is available too.


Go to the home page of Albert van der Horst