This colorforth.com website was updated 2023 Dec 15. colorForth is a most excellent computer language. And it's great fun to use. You'll see how to use Forth and read and write Forth code. Even create your own Forth.

colorForth is a dialect of Forth. Its current version is uhdForth, aimed at graphics on a uhd (3840x2160) screen. It boots by executing uhdForth.exe, which displays a splash screen.

Messing about in Forth

It has a text box in which you type text as you would to a chat-BOT. 222 global words are defined at boot. Other local words are defined when you load an app. The dictionary can accomodate 384 words.

Data stack

Forth has 2 LIFO stacks (Last In, First Out). One is a hardware stack for subroutine return addresses. Most computers have this. The other is usually implemented in software. It passes numbers to/from those subroutines. This data stack replaces loading parameters for subroutine calls.

Keyboard

colorForth has a custom character set (all lowercase) and a modified querty keyboard.

Random numbers

As an example of a colorForth app, random numbers are interesting in themselves.

Editor

The editor is not resident. It's loaded as an app. A programmer will spend most of his time there. And it is a neat editor.

Machine code

uhdForth runs on Intel hardware under Windows. Forth must use Windows functions. And can use machine code when necessary. colorForth makes this easy? Let's examine how Forth words are defined.

Kernel

colorForth boots from a 12KB kernel, uhdForth.exe. It's assembled with the Goasm assembler/linker. The kernel defines 37 words. Let's discuss them.

Debug

Another important app to peer under the hood.

colorForth vs Forth

Is a streamlined version of Forth. A colorful electric train versus a last century steam train. It has numerous differences from ANSI Forth.

Other Forths

Forth has been implemented on virtually every platform. Other instruction sets, operating systems and languages offer insight into basic Forth words.

History

Forth started in 1968. Its simplicity allowed many users to write their own version. This constructed an evolutionary tree.

Gallery

Developers who have made a contribution to the evolutionary tree. Their pictures and brief bio.