64-bit Forth System for x86_64-GNU/Linux
Copyright © 1998--2026 Krishna Myneni, krishna.myneni@ccreweb.org
- David P. Wallace
- Matthias Urlichs
- Guido Draheim
- Brad Knotwell
- Alaric B. Snell
- Todd Nathan
- Bdale Garbee
- Christopher M. Brannon
- David N. Williams
- Iruatã M. S. Souza
kForth-64 for x86_64-GNU/Linux is provided under the terms of the GNU Affero General Public License (AGPL), v3.0 or later.
The following packages are required to build and maintain kForth-64 from its source package, on a GNU/Linux system:
binutils
gcc
gcc-c++
glibc
glibc-devel
libstdc++-devel
make
readline
readline-devel
patchutils
Some or all of these packages may already be installed on your GNU/Linux system, but if they are not, you should install them for your GNU/Linux distribution. GNU C/C++ version 4.0 or later is recommended.
To build:
-
Unpack the files if you obtained them as a
.zipor.tar.gzfile. -
Change to the
kForth-64-branch/src/directory, where "branch" is the project branch, e.g.master, and typemaketo build the executables. A successful build results in two executables,kforth64andkforth64-fast. -
Move the executables into the search path. It is recommended to move the kForth-64 executables to
/usr/local/bin. You must have root privileges to do this. -
Specify the default directory in which kforth64 will search for Forth source files not found in the current directory. The environment variable
KFORTH_DIRmay be set to this directory. For example, under the BASH shell, if you want the default directory to be your~/kForth-64-branch/forth-src/directory, add the following lines to your.bash_profilefile (or.profileon some systems):KFORTH_DIR=~/kForth-64-branch/forth-src export KFORTH_DIR
Sample source code files, typically with the extension .4th, are
included in the kForth-64-branch/forth-src/ directory. These files serve as
programming examples for kForth-64, in addition to providing useful
libraries of Forth words and applications written in Forth. Within the
forth-src/ subdirectory, you will find additional subdirectories containing
different categories of Forth libraries or applications. These include:
system-test/ A set of automated tests to validate the Forth system against
the Forth-2012 standard
fsl/ modules for numeric computation from the Forth Scientific Library, including test code
games/ console games written in Forth
libs/ Forth interfaces to C shared object libraries, such as the
GNU Multiprecision Library, gmp, and the GNU Multiprecision
Floating-Point Library, mpfr.
benchmarks/ simple benchmarks to compare the relative speed of Forth systems
Important system-level files in the forth-src/ subdirectory include,
ans-words.4thForth-94 words provided in source formstrings.4thString handling libraryfiles.4thStandard Forth words for file i/oansi.4thANSI terminal controldump.4thForthDUMPutilityssd.4thForthSEEutilitymodules.4thA framework for modular programming in Forthserial.4thLow-level serial port interfacesyscalls.4thOperating System callssignal.4thSignals interface (seesignals-ex.4thandsigfpe.4th)socket.4thSockets interfacelib-interface.4thInterface to shared object libraries.ttester.4thTest harness used by the automated test code
The current version of the kForth-64 User's Guide is located in doc/. A copy of the Forth-2012 standards document is also provided here. Please note important differences between kForth-64 and Forth-2012, discussed in section 4 of the User's Guide.
The portable modular programming framework documentation is provided in doc/.