awesome-forth
awesome-forth copied to clipboard
Links pertaining to the Forth programming language
Awesome Forth
Forth is a stack-based, imperative and reflective programming language that comes with its own interactive development environment. Forth is famous (and infamous) for its extreme simplicity and flexibility. It excels at the rapid prototyping of low-level software and and has been implemented for an extremely wide range of platforms.
Books
- Starting Forth by Leo Brodie is a classic tutorial and textbook, often considered the best introduction. [Free PDF]
- Thinking Forth of best introduction book on Forth mindset [Free PDF]
- Programming Forth Free PDF
- Beginners Guide
- Forth Primer
Videos
- A Little Bit of Forth A great introduction
- Over the Shoulder 1 - Text Preprocessing in Forth A great example of how elegant and simple forth can be in the hands of an experienced forth programmer (Samuel A. Falvo II)
- Chuck Moore Lots of videos showing unconventional approaches to programming by inventor of Forth himself
- SVFIG talks
Chips
- Novix NC4000/NC4016 -- First Forth chip by Moore and others at Novix Inc., 1985
- Harris RTX 2000 -- 16-bit stack computer based on the Novix, 1988
- Sh-Boom from Computer Cowboys (Moore and Russell Fish), 1988
- GreenArrays GA144 -- 1x1cm chip with 144 cores
- The J1 Forth CPU -- Forth CPU for FPGAs in 200 lines of Verilog
- Chip information curated by Jeff Fox
Standards
- ANS Forth 1994 (table of contents)
- ANS Forth 1994 (index of words)
- Forth 2012 standard and Forth200x committee
ANS Forth implementations
- SwiftForth -- big commercial implementation from Forth, Inc.
- GForth -- big implementation using GCC to compile a fast direct or indirect threaded Forth 2012.
- Win32Forth -- big implementation for Microsoft Windows
- pForth -- Portable C Forth from 3DO/Lucent
- hForth -- minimal, portable
- Jones Forth -- minimal, Linux x86
- lbForth -- self-hosting, portable Forth
- SP-Forth, Crossplatform forth with huge shared code library from different developers included
- muforth, "Small, simple, fast, indirect-threaded Forth intended for use as a cross-compiler"
- CamelForth is an implementation for embedded microprocessors (8051, 8086, Z80, and 6809, with more to come).
- amForth is a Forth 2012-ish interpreter running on AVR ATmega and TI MSP430 microcontrollers
- Mecrisp Forth is an implementation of a standalone native code Forth for MSP430 microcontrollers
- Mecrisp-Stellaris is a variant of Mecrisp which runs on various ARM Cortex M chips (and the Raspberry Pi Pico and BBC MicroBit). See also the comprehensive Documentation
Non-standard Forth implementations
- ColorForth, Chuck Moore
- EtherForth, Chuck Moore and Daniel Kalny
- RetroForth
- Rainbow Forth, Perhaps simpliest ColorForth that you may start in your browser (Link requies Google login). Tons of cool documentation too!
- J1 swapforth project Minimal Forth system to be ran directly on J1a
Applications
- Forth in Space Applications -- a list from Forth, Inc.
- Galileo spacecraft magnetometer patch (1993)
- Open firmware
Games
Different Forth reading
- ColorForth website, Chuck Moore
- UltraTechnology website, Jeff Fox
- Forth Dimensions Scanned copies of the Forth Magazine from the past
User groups
- Silicon Valley Forth Interest Group (SVFIG), host of annual Forth day in November
Forth companies
Other concatenative languages
- Joy -- purely-functional language
- Factor -- garbage-collected functional language
- OForth -- garbage-collected object-oriented language
- Concatenative language wiki