02 Jan 26
15 Oct 24
What sets the Forth Dictionary apart is its pivotal role in facilitating one of Forth’s most celebrated features: its remarkable extensibility. This unique characteristic allows programmers to seamlessly define new words, effectively extending the language’s vocabulary and capabilities on the fly. As we delve deeper into the intricacies of the Forth Dictionary, we’ll uncover how this seemingly simple concept underpins the language’s flexibility, efficiency, and enduring appeal in various programming domains, from embedded systems to interactive environments.
11 Jun 24
Recently I’ve discovered a very interesting language / realization of the Lambda Calculus. I was unable to find any other language like it, which I find quite surprising. In hindsight, the language seems obvious and natural. And the language keeps surprising me. I say “discovered” in the same sense that Paul Graham says that McCarthy “discovered Lisp”
28 Apr 24
A video tutorial for the factor programming language
22 Jan 24
gforth + sdl2 + turtle
26 Nov 23
muforth is a small, simple, fast, indirect-threaded code (ITC) Forth intended for use as a cross-compiler for microcontrollers and other embedded devices. It is written in C and its core is very portable. Because of its Forth nature, it is naturally extensible, scriptable, and customizable.
26 Oct 23
A primary design goal of FMS is to provide a simple but programmer friendly ANS Forth compatible object programming environment. The syntax for defining new classes and methods is straightforward and clear, but provides excellent performance and capability.
07 Aug 23
a brief but detailed exploration of the UF/uxn internals
18 Jul 23
Joy is a programming language created by Manfred von Thun that is easy to use and understand and has many other nice properties. This Python package implements an interpreter for a dialect of Joy that attempts to stay very close to the spirit of Joy but does not precisely match the behaviour of the original version(s) written in C. The main difference between Thun and the originals, other than being written in Python, is that it works by the “Continuation-Passing Style”.
16 Jul 23
Note: This page is my personal journey to discover Forth and put it in the context of computing history. It is adapted from my slides for a short talk. I’ve done everything in my power to make this page scale up and down for various screen sizes. I welcome suggestions and corrections for both the content and display of this page.
01 Jul 23
If you think this article is going to start a new discussion about an old controversy, you’re dead wrong. Instead, we will present a new way to solve your problems by using a simple concept, called lookup tables.
30 May 23
Dusk OS is designed to be maximally useful while being minimally complex. It builds from bare metal to a simple Forth-based operating system and C compiler in only a few thousand lines of code.
29 Apr 23
And of course, the first thing to do is to create arrays. But… Forth has no arrays! Oh god! What to do!? CREATE .. DOES>. Amazing, truly.
A natural question that beginners often ask is: Why doesn’t Forth have features that are standard in other languages, for example, arrays? The answer is that Forth is so facile at creating new data types that it is usually easier to invent something that exactly suits your needs than it is to force your program to conform to an arbitrary standard.
This paper describes patternForth, an extension of the Forth language to handle problems of string manipulation and pattern matching, in real time, for industrial control applications.
The DOES> concept seems to be one of the most misunderstood and mystifying aspects of Forth. Yet DOES> is also one of Forth’s most powerful features – in many ways, it anticipated object- oriented programming. The action and power of DOES> hinges upon a brilliant innovation of Forth: the Code Field.
A selection of papers I have published, seminars I have presented, and computer programs I have written, that are available on this site.
A selection of interesting historical documentation – especially on forth.
PandaForth, a port of CamelForth to the GBA by TorlusResources
16 Apr 23
Final Fantasy scripted in forth!?
25 Mar 23
Psi-Forth is a reversible programming language taking its primitives from Henry G. Baker’s psi-lisp and Brent Kerby’s concatenative combinators. It’s not quite a htro-forth, but a stack machine made of cons cells or the reverse image of a linear lisp.