Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 3.75 KB

README.md

File metadata and controls

43 lines (33 loc) · 3.75 KB

awesome-forth-implementations

A list of forth implementations I find and think are interesting in some way. This list is curated to my very subjective tastes for now but feel free to submit PRs.

Here I will provide github links which are maybe easier to navigate.

  • factor: a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection.
  • gforth (mirror): Gforth is a fast and portable implementation of the ANS Forth/Forth 200x language (original on savannah)
  • colorForth: A dialect of Forth that uses color to replace punctuation. Includes its own operating system. Produces extremely compact programs. Instant compile from pre-parsed source. Source forge
  • r34d: Similar to colorForth but with prefixes instead of colors.
  • rainbowforth: An implementation of colorforth.
  • firmforth: A JIT forth that uses libfirm, a library for optimization, to gain some speed.
  • neos: a cross-platform language agnostic scripting engine with a custom bytecode JIT.
  • bigforth: bigFORTH is a fast x86 implementation of the ANS Forth language
  • if.x86: A hybrid stack plus register based programming language.
  • b1fipl: Some short implementations of forths can be found here
  • XY: a family of array-oriented, concatenative programming languages with first-class continuations. XY 1 has quotations, lists, functions, and patterns. XY 2 is flat. XY 0 has quotations and shuffle-symbols but dispenses with lists and patterns. (I don't know where to find an implementation only a document)
  • Kitten: a statically typed, stack-based functional programming language designed for simplicity, speed, and safety.
  • Stabel (alpha): RPN + static type system, compiles to WebAssembly. Not a forth per se, but may offer some ideas or be of some use.

Resources

While this repo is not intended to be focused on resources I provide some here:

Books

Cheatsheet