Gforth

A free, fast, featureful and portable implementation of the Forth 2012 language.

\ a comment followed by the shortest quine
source type

\ another shorty, hello world looks like that
." hello world"

\ tell me, what else can we do? ask the system itself!
words \ this will yield all defined words

Download / Install

0.7.3 (Latest release)

Bleeding Edge snapshot

Build from Tarball
wget https://www.complang.tuwien.ac.at/forth/gforth/Snapshots/current/gforth.tar.xz
tar xvfJ gforth.tar.xz
cd gforth-*
./install-deps.sh
./configure
make
sudo make install

Git repository
git clone https://git.savannah.gnu.org/git/gforth/
cd gforth
./install-deps.sh
./autogen.sh
./configure
make
sudo make install

See INSTALL.md for further details

Debian >= Bullseye

  1. If you don't have https transport for apt installed, do that first, since I'll redirect you to https in any case:
    sudo apt install apt-transport-https
  2. Make yourself root:
    sudo -s
  3. Obtain the key:
    wget -O - https://net2o.de/bernd@net2o.de-yubikey.pgp.asc | \
    gpg --dearmor -o /usr/share/keyrings/net2o-archive-keyring.gpg
  4. Create a one-line file for the repo: Set version to either oldstable/stable/testing/unstable, whatever fits your Debian:
    version=testing
    cat >/etc/apt/sources.list.d/net2o.list <<EOF
    deb [signed-by=/usr/share/keyrings/net2o-archive-keyring.gpg] https://net2o.de/debian $version main
    EOF
  5. And then fetch the repository and install
    apt update
    apt install gforth-minos2
  6. Leave root
    exit

Docker
docker run -it --rm forthy42/gforth
or
podman run -it --rm forthy42/gforth

Supported systems

Gforth runs under GNU, BSD, and similar systems, MS Windows and MacOS X and should not be hard to port to other systems supported by GCC. Version 0.7.9_20160714 has been tested successfully on the following platforms:

GNU/Linux

amd64
arm64
armel
armhf
i386
mips
mipsel
powerpc

Android/Linux

Gforth on Android

amd64
arm64
arm
i386
mips

Gforth EC(embedded)

r8c
4stack
misc
8086

Windows

amd64
i386

MacOS

amd64
i386

Contact

gforth@gnu.org

Mailing List

comp.lang.forth

Ancient, yet highly active news group.

Authors

  • Anton Ertl Project initiator, C based primitives, locals, gray, manual, Release manager, GNU maintainer
  • Bernd Paysan Project leader, kernel, cross compiler, non-Unix ports based on GCC, Release manager, GNU maintainer
  • Gerald Wodni SWIG module for C libraries
  • David Kühling Emacs integration
  • Jens Wilke Embedded Control versions (non-gcc), decompiler, cross compiler refinement
  • Neal Crook manual, glossary entries