Forth
A low-level functional programming language, mostly concatenative, with imperative features, for a stack-based VM model, invented by Chuck Moore. It is a very interesting language to study, both for its achievements and its shortcomings. The writer won't list those shortcomings of Forth here, and he doesn't list any of its achievements either. You'll just have to guess what he must have been thinking. -- A N OtherCentral to Forth is the notion of a "word", corresponding to a function in other languages. A Forth program, after parsing, is nothing but a list of words, executed consecutively by the "inner interpreter", the core of Forth.
Forth is fully reflective and self-containing; the Forth parser (the so-called "outer interpreter") is written in Forth and can be modified at any time. It has also a set of words to access the input buffer (see for example the word PARSE
). Thus, at least potentially, Forth can have any syntax.
Forth is usually untyped, much in the same way that Assembly is (though see strongForth below). More generally, Forth is a very low-level language, with manual management of memory, fixed-size buffers, pointer manipulation; but reflection makes it a remarkably powerful language among low-level languages.
See also Forth OSes, Forth is NOT intrinsically slow.
- forth.org, FTP Site, German FTP Mirror.
- The Evolution of Forth, a Forth history by Charles H. Moore, Elizabeth D. Rather, Donald R. Colburn.
- FORTH - A Language for Interactive Computing: the original FORTH paper by Chuck Moore.
- Forth - The Early Years another Forth history from its inventor.
- Draft ANS Forth the standard.
- The ForthFreak Wiki
- An Introduction to Forth Using StackFlow.
- FAQ written by the good people at comp.lang.forth.
- cera2.com and eg3.com.
- Stack Computers: the new wave: a freely available online book by Philip J. Koopman, Jr.
- Starting Forth, Leo Brodie's classic introductory book is now available on-line (from Marcel Hendrix's home page).
- M. Anton Ertl's WWW site.
- Forth entry in the Open Directory Project: a comprehensive list of Forth related links
- Moving Forth: a series on writing Forth kernels: is a collection of papers by Brad Rodriguez, including Design Decisions in the Forth Kernel (various threading techniques)
- colorForth: Chuck Moore's colorForth Homepage
- UltraTechnology.com: Jeff Fox's UltraTechnology Homepage
- Forth, Inc.: founded by the original developers of Forth.
- Taygeta Scientific Incorporated.
- Patriot Scientific Corp.: FORTH chip maker.
- Linear Logic and Permutation Stacks--The Forth Shall Be First (.ps.gz), a paper by Henry Baker
Abstract:Girard's linear logic can be used to model programming languages in which each bound variable name has exactly one "occurrence"--i.e., no variable can have implicit "fan-out"; multiple uses require explicit duplication. Among other nice properties, "linear" languages need no garbage collector, yet have no dangling reference problems. We show a natural equivalence between a "linear" programming language and a stack machine in which the top items can undergo arbitrary permutations. Such permutation stack machines can be considered combinator abstractions of Moore's Forth programming language.
- Gforth: GNU Forth.
- Mops: A superb public domain FORTH with OO extensions for Mac OS X. (An older version for "Classic" Mac OS can be found on the Mops FTPsite.)
- PFE.
- strongForth Homepage, by Dr. Stephan Becher (old strongForth Homepage [MIA] archived at Internet Archive) (strongForth Yahoo! group [MIA]) an ANS FORTH with strong compile-time typechecking. See also discussions in concatenative Yahoo! group.
- For various implementations see comp.lang.forth.repository.
- 4th compiler.
- Gforth system.
- Hype - a simple object-oriented Forth.
- Frugal - HardCore SoftWare's Forth system.
- Dreams - a Forth object-oriented programming extension.
- Pgforth - a Forth interpreter in Perl.
- IsForth - a 32 bit Direct Threaded Linux Forth compiler.
- Atlast - Autodesk Threaded Language Application System Toolkit, a programming language based on FORTH-83.
- Coldstore's Chaos - a Forth-like programming language. Also Chaos's wiki page.
- Timbre - a script driven translator engine.
- A Survey of Object-Oriented Forths.
- Fpos - a native PPC ColorForth. [MIA]
- Fcvm - Forth Code Virtual Machine. [MIA]
- The Forth Source.
- Common Forth homepage.
- Forth Research page.
- iForth, tForth, eForth, mxForth, benchmarks, and links.
- Various Forth link collections here here and here.
Unsorted
Pages in this topic: Flua Forth OSes Kevo
Also linked from: Block Editor Charles Childers Chuck Moore CoSy Credits False Forth is NOT intrinsically slow Joy Object-Oriented OJOS Open Firmware Parsing PostScript Reflective Programming Languages Retro RPL Scheme SED Small C Stacker The True Story of Ada Tom Novelli