Gforth is the Forth implementation of the GNU project (
Current release 0.6.2,
have a look to the
User Manual). Binary
distributions for popular platforms such as DOS, Windows 95, Linux,
OS/2 can be found in
Home of Gforth, as well as
snapshots of the
development version in the CVS repository. Last Source
Snapshot 0.6.9-20080405.
Gforth uses GCC to compile a fast direct or indirect threaded Forth;
Gforth is fully ANS FORTH compliant. Authors of Gforth are
Anton Ertl,
Bernd Paysan,
Jens Wilke, Neal Crook, and others.
The goal of the Gforth Project is to develop a standard model for ANSI Forth. This can be split into several subgoals:
To achieve these goals Gforth should be
There's an
object oriented package, written in almost plain
ANS Forth.
Bug fixes (installation on big-endian machines sometimes did not work)
Changes in behaviour:
S": interpreted use now ALLOCATEs the string (they live until BYE).
Operating environment:
tags.fs
(usage like etags.fs).
gforth.el mostly rewritten.
New words:
EDIT-LINE K-PRIOR K-NEXT K-DELETE
SLURP-FILE SLURP-FID
ID. .ID WORDLIST-WORDS SIMPLE-SEE
[DEFINED] [UNDEFINED]
CONST-DOES> ]]
PARSE-WORD EXECUTE-PARSING EXECUTE-PARSING-FILE
STR= STR< STRING-PREFIX?
S\" .\" \"-PARSE
F.RDP F>STR-RDP F>BUF-RDP
Miscellaneous:
Changes in behaviour:
1 OFFSET ! to establish the old
behaviour.
READ-LINE now interprets LF, CR, and CRLF as
newlines. Newlines on output are in the OSs favourite format.
SEE now disassembles primitives (or hex- DUMPs the code if no
disassembler is available).
>HEAD
(aka >NAME) now returns 0 (instead of the nt of ???) on failure.
Operating environment:
THROW) in batch processing.
gforthmi --application ..." to build an image that
processes the whole command-line when invoked directly (instead of
through gforth -i).
Ports:
New words:
EKEY EKEY? EKEY>CHAR
CPUTIME UTIME
V* FAXPY
F~ABS F~REL
[IS]
Nested number output:
<<# #>>
TRY RECOVER ENDTRY
OPEN-DIR READ-DIR CLOSE-DIR FILENAME-MATCH
]L PUSH-ORDER
Miscellaneous:
Operating environment:
gforth and gforthmi is now more GNU standards compliant (wrt
command-line options).
--die-on-signal
Ports:
New, changed, and removed words:
F0 to FP0
(avoids unexpected behaviour in hex), added aliases SP0, RP0, LP0
(recommended for future use) for S0, R0, L0.
PARSE-WORD into SWORD
(PARSE-WORD is used with the meaning of NAME in OpenBoot and
dpans6 A.6.2.2008)
FPICK
(suggested by Julian Noble).
EXCEPTION.
S" gforth" ENVIRONMENT? now produces the version-string.
Miscellaneous:
There's a mailing list around Gforth-related topics:
GForth@ChaosSolutions.org.
Read old postings in the list archive of the
Gforth list.
Subscribe by sending a message to
gforth-subscribe@ChaosSolutions.org.