foth
forthy2
foth | forthy2 | |
---|---|---|
9 | 2 | |
73 | 55 | |
- | - | |
5.1 | 10.0 | |
3 months ago | over 4 years ago | |
Go | C++ | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
foth
- Show HN: Writing a simple FORTH-like system, in simple steps
- Show HN: Implementing a simple FORTH, inspired by a Hacker News thread
-
Byte Magazine: The FORTH programming language
I hacked up a simple forth-like system in golang, by following the overview posted in this hackernews comment-chain:
https://news.ycombinator.com/item?id=13082825
The result is here:
https://github.com/skx/foth
It's not real, but it was a pretty fun experiment regardless.
-
Jonesforth – A sometimes minimal FORTH compiler and tutorial (2007)
Here's one of the many forks that brings it up to 64-bit:
https://github.com/matematikaadit/jombloforth
If you like forth there's an awesome series of comments here on hacker news on building a simple variant in a few simple steps:
https://news.ycombinator.com/item?id=13082825
I took that, and built a simple forth-like system, in golang following the original recipe and breaking it down into simple steps for learning-purposes:
https://github.com/skx/foth
- Forth control flow execution steps.
-
ColorForth (2009)
I'll always vote up submissions referencing anything FORTH related. For me FORTH is as much fun as lisp appears to be for others. I've never really done much with it, but I always like the simplicity and the ability to reason about it.
Sure FORTH has problems of its own, but it's always nice to use. I've hacked up a couple of simple FORTH-like systems over the years, most recently this one which was inspired by a thread on this site:
https://github.com/skx/foth
A lot of people go through guides of writing a lisp, I'd love to urge people to try writing a simple FORTH interpreter instead, or even something somewhat related such as TCL.
-
Lang Jam: create a programming language in a weekend
There's even a recipe posted in a couple of comments here:
https://news.ycombinator.com/item?id=13082825
I followed that guide to implement a simple FORTH-like system in golang:
https://github.com/skx/foth
As I was following the implementation recipe I broke it down into "educational steps". Although it isn't a true FORTH it is pretty easy to understand and useful enough to embed inside other applications.
Now and again I consider doing it again, but using a real return-stack to remove the hardcoded control-flow words from the interpreter, but I never quite find the time.
- Tutorial-style FORTH implementation written in Golang
-
Wisp: A light Lisp written in C++
I actually hacked up a simple forth-like system, after reading a brief howto here on hackernews:
https://github.com/skx/foth/
Here's the thread which has the barebones overview which inspired me:
https://news.ycombinator.com/item?id=13082825
I could have taken it further, but the implementation there is not "real" in the sense that there is no real return-stack, so you can't implement IF-statements using the lower-level primitives.
That said it is a good starting point, and I had some fun doing it. I'd guesstimate it is more of a single weekend project though, rather than longer.
forthy2
What are some alternatives?
wisp - A little Clojure-like LISP in JavaScript
ti84-forth - A Forth implementation for the TI-84+ calculator.
rustc_codegen_cranelift - Cranelift based backend for rustc
zForth - zForth: tiny, embeddable, flexible, compact Forth scripting language for embedded systems
cling - The cling C++ interpreter
pijFORTHos - A bare-metal FORTH operating system for Raspberry Pi
sectorlisp - Bootstrapping LISP in a Boot Sector
Bashforth - A Forth interpreter, entirely written as bash script. But by now is yoda (https://github.com/Bushmills/yoda) the better bashforth.
factor - Factor programming language
oil - Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
language-incubator - Learning compilers, interpreters, code generation, virtual machines, assemblers, JITs, etc.