HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
AlexandreAbreu
jonesforth
Assembly2015–2020
AlexandreAbreu / jonesforth

jonesforth

Just a backup of the very nice Richard W.M. Jones Forth interpreter

6Distinct people
6Mentions
0Explicit recommenders
232GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Just a backup of the very nice Richard W.M. Jones Forth interpreter

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year6 dated mentions

Observed mentions: 2015-03-21 03:04:04 UTC to 2020-06-07 22:46:49 UTC.

01232015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC303
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202

What Hacker News says

6 sources
I feel like this might still be too high level. A better approach may be to teach by the example of writing a basic FORTH environment from machine instructions, then basic helpers written in the language, and working up from there. Various types of better things can be added in once there's something to optimize. Edit: I was probably thinking of this version that I likely read a couple years ago: https://news.ycombinator.com/item?id=13505285 Quoting their post "" rwmj on Jan 28, 2017 [-] This is a how-to-write-a-FORTH tutorial that I wrote a few years ago. It's particularly nice that you get to see how various control structures are implemented, like IF, CASE and even comments! Part 1: http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth... Part 2: http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth... (github mirror: h
Read the rest
ttps://github.com/AlexandreAbreu/jonesforth/blob/master/jon... https://github.com/AlexandreAbreu/jonesforth/blob/master/jon... ) Previous HN comments: https://news.ycombinator.com/item?id=10187248 "" The immediate reply covers my feelings for how the __introductory__ class should proceed: minimal assembly and maximum programmer clarity. "" rsaarelm on Jan 28, 2017 [-] Working through Jones Forth got me up to speed on both understanding how Forth works and getting my hands dirty with some practical assembly coding. Once I got a better idea of Forth, I also realized that Jones stays in assembly for rather long. He builds up the entire interpreter from raw assembly words, because you need the interpreter to start parsing textual Forth source. But you if you could somehow write Forth before the interpreter is put together, it would be quite natural to switch to Forth much earlier. And it turns out you can do that. Jones even defines the `defword` macro. But for some reason he makes very little use of it. Rewriting most of the code leading up to INTERPRET using defword was a fun exercise. The next step would've been making the whole system bootstrapping by rewriting the assembler in Forth, but x86 machine code generation is hairy enough that I bailed out at this point. ""
In Thought Experiment: An Introductory Compilers Class
Your idea for a foundation of practical computing sounds a lot like MIT's 6.004 Computation Structures [1], which is available on OpenCourseWare and edX. In 6.004, you start by learning about the digital abstraction and MOSFETs, then go on to logic gates, flip-flops, pipelining, instruction sets, and halfway through the course you use a circuit simulator to build a RISC processor called the Beta. Then you go on to I/O buses, virtual memory, and interrupts, and at the end of the course you can compile C programs for the Beta. To get from having a processor to having a self-contained programming environment, you could work through a variation on jonesforth [2]. (You'd have to port it from i386 to the Beta if you wanted to keep the same architecture.) [1] https://ocw.mit.edu/courses/electrical-engineering-and-compu... [2] https://github.com/
Read the rest
In The Vatican’s Latinist
This is a more interesting question that it might seem. For a Sunday afternoon read, please take a look to Jonesforth [1] for an implementation of a basic Forth for Linux/32 bits. It's written in literate style and it reads like a nice book. If you are not that interested in the implementation of the compiler (and if so you might be missing the ultimate point of Forth), Starting Forth [2] is a classic resource. Edit: formatting [1] https://github.com/AlexandreAbreu/jonesforth [2] https://www.forth.com/starting-forth/
In Show HN: A Lispy, embedded Forth
This is a how-to-write-a-FORTH tutorial that I wrote a few years ago. It's particularly nice that you get to see how various control structures are implemented, like IF, CASE and even comments! Part 1: http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth... Part 2: http://git.annexia.org/?p=jonesforth.git;a=blob;f=jonesforth... (github mirror: https://github.com/AlexandreAbreu/jonesforth/blob/master/jon... https://github.com/AlexandreAbreu/jonesforth/blob/master/jon...) Previous HN comments: https://news.ycombinator.com/item?id=10187248
In Forth: The Hacker’s Language

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.