TBT #14: APL, Forth and Lisp Timelines
1278 words • 7 min read • Abstract

Three languages I keep coming back to are APL, Forth and Lisp. I have now added an interactive timeline beside my live demos of each: the language’s history from the 1950s on, with my own versions marked where they belong. Each timeline is a horizontal strip, about eleven years to a view. Scroll sideways to go earlier or later.
| Resource | Link |
|---|---|
| APL | sw-apl, sw-apl-workspaces |
| Forth | sw-cor24-forth, reva-fork |
| Lisp | sw-cor24-macrolisp |
| 3D models | console-3D, s1130-3D |
| The series | Throwback Thursday: every post |
| Comments | Discord |
APL Timeline
A timeline of APL is now the front page of my APL site. It has 40 entries and opens on 1970. Iverson’s notation and APL\360 are to the left; to the right are APLSV, SHARP APL, the standard, the IBM PC and APL2, and on to my own array languages.
My live demos sit on it as eras: A‘70, APL\360 typed on a 2741; B‘75, APLSV on the IBM 5100; and, just added as the third, C‘80, APL-80 on the TRS-80. Next, soon, is D‘83, IBM PC APL. APL\1130 in 1968, on the 1130’s console typewriter, is marked as a future demo. Clicking a live entry opens that demo.
Forth Timeline
A timeline of Forth sits beside my browser Forth for COR24. It has 27 entries and also opens on 1970. Chuck Moore’s FORTH took shape on an IBM 1130 at Mohasco, around 1968, and was named, five letters, by 1970. Then come Forth at the NRAO radio telescope, FORTH, Inc. in 1973, the Forth Interest Group and fig-Forth in 1978, and Forth-79.
My Forths are on it too: COR24 Forth, proto-forth-wasm, Forth in SWTOS and reva-fork. Forth on the IBM 1130 is marked as a future demo.
Lisp Timeline
A timeline of Lisp sits beside my browser Lisp for COR24, with 43 entries. It opens earlier than the other two, at Lisp’s beginning: John McCarthy at MIT in 1958 and his 1960 paper, then the LISP 1.5 Programmer’s Manual, Maclisp, BBN-LISP and on.
Its 1130 entry is Lisp 1.6 on the IBM 1130, from 1972, by Guy L. Steele Jr. at Boston Latin School, marked as a future demo. My Tiny Macro Lisp on COR24 is live; Lisp in SWTOS is still to come.
My APLs, Forths and Lisps
| Language | Repository | Live demo |
|---|---|---|
| APL | sw-apl: a clean-room APL in Rust, and sw-apl-workspaces | sw-apl: A‘70, B‘75 and C‘80 |
| APL | sw-cor24-apl: APL for COR24, in C | web-sw-cor24-apl |
| Forth | sw-cor24-forth: a tiny Forth for COR24 | web-sw-cor24-forth |
| Forth | sw-fth-wasm: proto-forth-wasm, a proto-Forth workbench | sw-fth-wasm |
| Forth | reva-fork: Reva Forth on 64-bit hosts and WebAssembly | Reva in the browser |
| Lisp | sw-cor24-macrolisp: Tiny Macro Lisp for COR24 | web-sw-cor24-macrolisp |
The COR24 versions are also gathered on the COR24 demos page.
Next: the IBM 1130
All three timelines point at the same machine. APL\1130, Forth and Lisp 1.6 all ran on the IBM 1130, and each is marked as a future demo.
My IBM 1130 emulator (TBT #5) has an assembler game, the console panel, an 029 keypunch and the console printer so far, but no disk yet. Work is planned to complete it and run, if possible, actual APL, Forth and Lisp code written for the 1130.
It will also draw on my 3D models, console-3D for the 1053 console printer and s1130-3D for the 1131 console, to animate the console, keypunch, printer, disk and the rest. The goal is to update the Computer History Museum on my research campus.
Closing
Recently I’ve been attending user groups for APL and for Forth, and I belong to a Lisp meetup group. I’m working toward improving my 1130 emulator so that it can run actual APL, Forth and Lisp. Once that works, I plan to create an FPGA version of the 1130.
I’m following the approach I took with makerlisp.com’s COR24-TB FPGA development board, for which I wrote an emulator. This time I’m starting with the emulator, and then creating my own FPGA design, using X_eTaL-fpga, as I did for HEX1000, two hex calculators loosely based on TI’s 4-bit TMS1000 calculator chip, one with a UART interface (live demo) and the other with physical buttons and LED digits (hardware).
Part 14 of the Throwback Thursday series. View all parts
Comments or questions? SW Lab Discord or YouTube @SoftwareWrighter.