!!! Forth

!Background
Forth is a programming language that uses a stack-based metaphor in an effort to reduce memory requirements as much as possible. In contrast to languages like [Basic], the parser never has to "look ahead" to find additional data in order to see if a command is properly entered, any data it could need has to be pushed onto the stack as well.

The downside to this approach is that it makes the language difficult to understand by mere mortals, and as a result, Forth was subject to perhaps one of the longest running fanboi wars since APL was invented. Constantly derided by practically everyone in the industry, it saw some interest in spite of this, but little commercial software emerged. The singular exception may be the PostScript system found in printers as the underlying basis for the PDF format, which is essentially a version of Forth modified for graphics output.

The Atari 8-bits were being sold right in the middle of this battle, and as a result there was a fair amount of support on the platform and some interest in the press.

[{TableOfContents }]

!! Forth Standards

* [Forth79] (1979)
* [Forth83|http://forth.sourceforge.net/standard/fst83/] (1983)
* [ANSI Forth|http://www.taygeta.com/forth/dpans.html] (1994)
* [Forth 200x|http://www.forth200x.org/forth200x.html] (2009)
([Family tree|http://www.complang.tuwien.ac.at/forth/family-tree/])

!! Tutorials

* [Einfuehrung in Forth 83]

!! Forth Articles

* [What is Forth]?
* [Converting FIG-Forth Programs to Forth-83]
* [Forth Code Size]
* [6502 Assembler in Forth]
* [A FORTH ASSEMBLER FOR THE 6502] by William F. Ragdale, FOURTH DIMENSIONS Vol 3, 5p, 143ff
* [FigForth Source Listing] - FIG Forth for the BBC Micro in 6502 Assembler
* [Some Debugging Sourcecode found on a BBC Micro Fig-Forth Disk]
* [6502 DISASSEMBLER] in Forth
* [Kermit Protocol in Forth]
* [6502 Forth like tiny Operating System]
* [APPLE II QForth]
* [GNU Forth EC for 6502]
* [Henry Laxen on Slashdot 2002]
* [Yet another target compiler]
* [Forth Macros]
* [Local Variables]
* [Freedom of Assembly] by Julian V. Noble
* [Forth sorting routines]
* [Forth memory allocator]
* [Forth Database design] "ELEMENTS OF DATA BASE DESIGN" by Glen B. Haydon
* [Signed Integer Division] by Robert L. Smith
* [From PASCAL to FORTH] by Leonard Morgenstern
* [Implementations of NEXT on 6502]
* [Ultimate CASE Statement] by Wil Baden, VD 2 1987

!! Forth Systems for the Atari

* [FOCO65|https://github.com/piotr-wiszowaty/foco65] a Forth Cross-Compiler written in Python that translates into XASM assembly language
* [SPL] (Simple Programming Language) a Forth-ish compiler written in Python that translates into Assembly language
* [X-FORTH] - a FIG Forth variant, currently maintained
* [VolksForth] - a powerful Forth83 standards Forth for Atari 8bit, Atari ST, MS-DOS, CP/M, C=64, C=16/116/Plus4, still maintained
* [ANTIC Forth]
* [valFORTH]
* [English Software Company FORTH]
** [Page 6 Review of ES Forth|http://page6.org/archive/issue_14/page_34.htm]
* [Extended Atari FIG-Forth APX20029]
* [Mesa Forth]
* [QS Forth]
* [Graphic Forth] - A ANTIC / Fig-FORTH 1.4s Version with special Graphics Extensions.
* [FIG Forth 1.1]
* [FIG Forth 1.0D]
* [fig-FORTH1.4S-1.atr]
* [fig-FORTH1.4S-2.atr]
* [ProForth] Apple II (6502 Source)
* [SNAUT]
* [Forth Compiler from Frank Ostrowski]

!! Videos and Screencasts

* [Introducing FIG-Forth on the Atari 8-bit|http://youtu.be/JaNn1cnvBAI]
* [Atari fig-FORTH: Showing the Stack|http://youtu.be/XFWGteNE0Gg]
* [Atari FIG-FORTH: About Screens|http://youtu.be/nZKYONc7sYs]
* [Atari FIG-FORTH - Editing Screens|http://youtu.be/-E5zQZApJRQ]
* [Atari fig-FORTH: Manipulating the Display List - Part 1|http://youtu.be/t-oeSRC1fdo]
* [Atari fig-FORTH: Manipulating the Display List - Part 2|http://youtu.be/-eNt-zjmFV0]
* [Atari Fig-Forth - Full Screen Editor progress|http://youtu.be/8FH2P-z2VVY]
* [Making Atari fig-FORTH Tools - ANTIC Disassembler 1 of 4|http://youtu.be/qnbN8fEOp4g]
* [Making Atari fig-FORTH Tools - ANTIC Disassembler 1 of 4|http://youtu.be/-QF97z-aC1M]
* [Making Atari fig-FORTH Tools - ANTIC Disassembler 1 of 4|http://youtu.be/up2AHDdK8jM]
* [Making Atari fig-FORTH Tools - ANTIC Disassembler 1 of 4|http://youtu.be/C1Hbjwxp6LI]