Jump to content

FORTH day is today. Special guest Chuck Moore

Recommended Posts

SVFIG hosts FORTH day annually. It is today, Sat, Nov 21.   Here is the link and agenda.

All times are PST (Palo Alto, CA)




900 --- Welcome --- Program Chairman Kevin Appert (5 minutes)


0905 --- EForth implemented in C --- Brad Nelson (20 minutes)

An exploration of various approaches to build EForth on top of C, we'll look at variations on the core interpreter, how to populate the dictionary, X-Macros, alternate memory models, and will draw comparisons with approaches taken in cforth and gForth.

0925 --- Hacking Farmer's Markets --- Mitch Bradley (20 minutes)
"By frequenting local Farmer's Markets and talking to the vendors, I have discovered a lot of need for small-scale automation. I'll show a collection of gadgets made from low-cost microprocessors, motors, sensors, and hardware store parts, with simple programming in Forth, that are a great help to small farmers and food producers."
0945 --- AIBot Board Update --- Don Golding (5 minutes)


0950 --- Visions of Future Forth --- Don Golding (10 minutes)

Forth has been used in both AI and space for many decades,  Forth's architecture fits perfectly for use in future space systems with low bandwidth communications links.  Incremental compilation, interpretive, extensible without a complete re-compile, can be used as a powerful terminal program for deep space robots,  You don't need to reflash the microprocessor with a large binary image over a low rate link.

1000 --- Matrices In Forth --- Bill Ragsdale (20Minutes)
"I'm not sure if this has been covered over the years. The key idea is from Julian Noble's book Scientific Forth. I've got basic matrix support in 80 lines of code with lots of white space. (create, fill, list, transpose.) I can be time adjusted to your need."

1020 --- A Slightly Different Forth Compiler Design --- Joseph O'Connor
(20 Minutes)
The Creole Forth compiler has several unusual features which include the lack of a STATE variable. This presentation will discuss its design features and their advantages.

1040 --- Forth Challenge ... show off your solution! --- Bill Ragsdale
(duration will depend on number of presenters - reserve your spot now!)
<<Create a translator from decimal into Roman numerals from 1 to 1001. A typical demonstration would be to print: 1 to 20 and 990 to 1001. You may choose either format for numbers such as 4: IV or IIII. Note the Romans often intermixed the formats as the Colosseum uses both. See Excel's roman() function.

As a historical note, this was presented on a handout by the Forth Interest Group in their exhibit at the third West Coast Computer Faire in 1978. >>>
1130 --- Forth Trivia Contest --- MC Bill Ragsdale (may run through lunch)
A trivia contest in the form of Jeopardy, really. (With the green category board and all!)
1200 noon --- Virtual lunch, chat, intros, networking
1230 --- Fireside Chat --- Chuck
1300 --- GreenArrays Update
1330 --- Programming GA144 using GA144 only --- Daniel Kalny (45 minutes)
"Chuck Moore began porting colorForth to GA144 in 2010. The project remained unfinished until 2017, when Chuck gave me his source code. Through several design iterations I finally arrived at a standalone development system for GA chips, running on a single GA144 only. In my talk I will present etherforth in its current version, and with the help of a few simple demo applications I'll show how the system works, and what kind of projects it can be used for."


  • Like 2
  • Thanks 1

Share this post

Link to post
Share on other sites

Here are some of my notes from the last part of FORTH day.


Charles H. Moore, inventor of FORTH.

Chuck Moore gave a "fireside chat". He showed us around his everyday FORTH blocks such as his dashboard, various clocks, astronomy he wants to memorize, and short quotes that give him fresh ideas.


Q. Could FORTH be a mainstream language like C or Java?
A. I don't think it needs to become a mainstream language.

   FORTH is a language to solve well-defined problems.
   It is a very good niche language. It is a very good tool. 
   FORTH requires the imagination, effort, and skill of a programmer.

   Always, FORTH can be used by people like us, without the world giving us permission.

Greg Bailey and Daniel Kalny of GreenArrays


  • GreenArrays GA144 is a chip with 144 CPU nodes for running FORTH.
  • Designed by Chuck Moore.
  • It is not a massively parallel CPU. Each CPU is given a specific, small task.
  • There is no system-wide clock. Clock distribution wastes a lot of energy. Each transition of the clock costs Vdd*C.
  • When a CPU has nothing to do, it goes to sleep. Transitions take picoseconds. 
  • Message passing by Ether lets CPUs send executable code+data to any other.
  • Eval board has a host GA144 with complete user interface, and a target GA144.
  • Pictures of how nodes are allocated to run the host software. For instance, one or more nodes for:
    •    keyboard, vga interface, GA144 programmer, at the edges of the chip.
    •    Lexical parser, number parser, word lookup, dictionary nodes.
  • Best for low-power, intermittent embedded systems. For example: bridge monitoring, lasting 20 years.
  • GA144 itself is designed in OKAD, in ColorFORTH. OKAD creates transistor layout by running a FORTH program.
  • GLOW is also a FORTH for placing transistors and poly lines. Working to re-generate the GA144 in GLOW.
  • FORTH is ideal for building up low-level components such as gates, modules, CPUs, and repeating them.
  • SystemVerilog is bad at power efficiency, OKAD/GLOW is unbeatable. 














  • Like 1

Share this post

Link to post
Share on other sites

Ya it was pretty wild to hear that the GA144 chip can respond to external signals faster that the clock cycle of many other CPUs.


But... it sounds like an absolute beast to program.

  • Like 1
  • Thanks 1

Share this post

Link to post
Share on other sites
7 hours ago, FarmerPotato said:

FORTH requires the imagination, effort, and skill of a programmer.

Absolutely 🤗

  • Like 1

Share this post

Link to post
Share on other sites

Link and password are published on their Email list and will be sent manually on Friday evening AND Saturday morning to all Meetup-registered attendees.

good idea. Nice

Share this post

Link to post
Share on other sites

So far today:


Xuyang Chen.  MovForth is a Forth compiler on top of LLVM. It compiles down to very optimized assembly.
Intended to package an application and go fast. You can still have a regular Forth compiler at run-time, but your code is not in a dictionary.

C.H. Ting.   Forth implemented in Javascript. Can build sophisticated web pages using Forth. Forth613.html shows an interactive Forth shell. 

Brad Nelson.  CSG in Forth. Build up your model geometry from primitives. Code takes slices of your model, and writes G-code to control a 3D printer. Nice interactive process of tweaking model. 

Bill Ragsdale.    Effective presentations on Zoom. SAFW and other structures, talk beginning, middle, end. Keep code to a snippet and make it big font. People will read slide text first, missing your talk, so keep bullet points short, or pause. Simplify your background and light your face with no shadows (tissue paper ring light). Use 2 cameras and show your project. Now you know what features to exploit in Zoom talks.

Dennis Ruffer.  Zephyr is a small OS that runs on 100s of boards, and also on any POSIX (Linux command line!) Employers  Intends to do some Forth on top of it. Ficl is a Forth-inspired command language for interactive board bring-up. (What *I* want to use CamelForth for on Geneve2020)   ficl is a dev tool - in a delivered product everything is known at compile time. 


Dave Jaffe:  SVFIG videos can be found at http://forth.org/svfig/videos/index.html
Thanks to Brad Nelson for recording and segmenting the Zoom video.


  • Like 4

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...