Three Levels of a New Programming System
April 6, 2022

Archived from an original LinkedIn post by Brian Greenforest.

Original Post

This stuff is so cool. Was trying to create a programming language for 20 years. To write an operating system from scratch. To reinvent the way computer works. Finally got both hardware and software sides together. There are three levels of abstraction: low-level silicon chips; middle-level self-reprogramming object-oriented model; high-level programming language with syntactic features.

On this weekend, I wrote an emulator of an FPGA array me and my colleagues kept working on since September 2020. We designed a flex PCB for Lattice iCE40LP384-SG32. They disappeared. We designed 4-layer PCB for Lattice iCE40HX1K-TQ144. They disappeared.

In September 2021, I wrote an emulator in Logisim and in ShaderToy. It worked. It showed that fine-grained FPGA is a waste, because each compute node has to serve as a container controller. It definitely has to have more than one logic cell.

This weekend, the idea showed to be not only neat and feasible, for the demanded array of FPGAs, but also hinted into an easy way to implement the middle-level self-reprogramming object-oriented model! I'm working on an emulator of it right now!

Next step, is to step-by-step follow most useful semantics and syntax, and generalize what is needed into the SILVER BULLET programming language we all kept dreaming about for more than 50 years!

It's a high-level. Distributed. Massively parallel. Homogeneous (not heterogeneous!) Dynamically typed. Reactive dataflow. Object-oriented. With first-class self-modification semantics.

It's coming. And it will definitely run on a VERY SPECIAL silicon hardware not found ANYWHERE IN THE WORLD.

We have invented a replacement for John von Neumann/Alan Turing CPU architecture. No more bottleneck + neat reactive features + infinite scalability (just add more hardware, and get superlinear speedup never ending!)

This stuff is so cool!