StoneKnifeForth (With a Metacircular Compiler)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • stoneknifeforth

    a tiny self-hosted Forth implementation

  • nebula

    Compiler for the stack-based Whitespace language with LLVM back end. (by thaliaarchi)

  • I built an AOT compiler for Whitespace with its own SSA-form intermediate representation that lowers to LLVM IR. Whitespace is very similar to a minimal Forth, except, well, syntax. Since StoneKnifeForth has no filesystem access, only stdin and stdout, the principles could be easily adapted for Whitespace.

    https://github.com/andrewarchi/nebula

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • stoneknifecpp

    C++ port of [stoneknifeforth](https://github.com/kragen/stoneknifeforth)

  • I have a C++ fork of this project in case Python isn't an option: https://github.com/tekknolagi/stoneknifecpp

  • PropForth5.5

    PropForthV5.5 is Forth progamming environment for Parallax Propeller P8X32A microcontroller created by Sal Sanci

  • >If you want to counter Ken Thompson’s “Trusting Trust” attack, you would want to start with a minimal compiler on a minimal chip; StoneKnifeForth might be a good approach.

    Some people have been working on fairly good Forths for different, minimal hardware including the Parallax boards.

    https://github.com/prof-braino/PropForth5.5

    There's also Chuck Moore's GreenArrays GA144 if you want a high performance Forth machine which includes a proto area on the board.

  • tokthr

    tiny token-threaded bytecode interpreter in x86 assembly

  • SKF's predecessor tokthr was derived from Jonesforth: https://github.com/kragen/tokthr/blob/master/tokthr.S

    IIRC the reason I only allowed single-byte identifiers was to simplify the symbol table, which is implemented by these four lines of code:

        : Type Four* header 6144 + + ; ( Table of definition Types: 1=code, 2=data )

  • relf

    Relative Forth

  • Thanks, SOD32 looks interesting. It also led me to find this: https://github.com/kt97679/relf

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts