Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
language-incubator
Learning compilers, interpreters, code generation, virtual machines, assemblers, JITs, etc.
-
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.
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
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
It was a lot of fun for me to reimplement this in MIPS assembler on CI20 [0]
JonesForth could be more straightforward in its interpreter part. I tried to make this part as clean as possible, hopefully did not miss anything.
Maybe I will make a RISCV version in my copious free time in the future.
[0] https://github.com/EarlGray/language-incubator/blob/29755c32...
[SSP] Assembly is of course nice, but not always practical. For those interested in a compact, embeddable and portable little Forth written in C, take a peek at zForth: https://github.com/zevv/zForth.
Some time ago I wrote an implementation of Forth that runs on the TI-84+ and TI-83+ calculators directly inspired by Jonesforth.[0] It runs under TI-OS as well, but the amount of available space is somewhat limited. On another implementation I wrote[1] you have full access to the calculator hardware and memory from Forth.
[0] https://github.com/siraben/ti84-forth
[1] https://github.com/siraben/zkeme80
Some time ago I wrote an implementation of Forth that runs on the TI-84+ and TI-83+ calculators directly inspired by Jonesforth.[0] It runs under TI-OS as well, but the amount of available space is somewhat limited. On another implementation I wrote[1] you have full access to the calculator hardware and memory from Forth.
[0] https://github.com/siraben/ti84-forth
[1] https://github.com/siraben/zkeme80
I want to write one for bare metal (non-Linux) raspberry pi (ARMv6 32 bit on Raspberry Pi 1 and Zero; ARMv7 and ARMv8 on higher models and also supports 64 bit). I want to have no dependencies required though so was thinking of bootstrapping it with nothing but machine code (determined initially with the help of an assembler and documentation of course). Someone has already ported jonesforth the Raspberry Pi[1] but using serial i/o as the user interface and it has dependecies to build it, but I should be able to get ideas from how they coded their assembly parts compared to the original jonesforth. I want to be able to use HDMI for the screen (already tried it out with some bare metal tutorials in assembly so that's do-able) and again, with no dependencies. And I want to show people how to do it themselves, not just have it be something to run that they don't understand fully. It should also be possible to have the forth kernel build/assemble itself if needed, or cross-target another platform.
I know I'm all talk right now, like you say, I need to manage my free time so that I would have the "copious free time" to work on this.
[1] https://github.com/organix/pijFORTHos
I must mention Factor, which is a modern concatenative, stack-based programming language. It turns out Forth was just the first concatenative language discovered/constructed.
https://factorcode.org/