Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction: The Missing Dimension in Programming

The Missing Dimension in Programming

Nearly every programming language ever invented shares the same assumption:

Computation is independent of geometry.

Variables exist nowhere. Functions execute nowhere. Messages travel instantly. Memory has no location. Time is merely an implementation detail managed by clocks.

Meanwhile semiconductor manufacturing has quietly become astonishingly precise.

Modern chips routinely manufacture billions of devices positioned within nanometers of their intended locations while switching in nanoseconds or less. Hardware has become a spatially and temporally accurate physical object.

Software has not.

MatterScript closes that gap.

For the first time, a programming language allows developers to describe computation using the same notions of geometry, locality, propagation delay, and physical arrangement that already govern the hardware beneath it. Rather than treating placement as a compiler optimization, MatterScript makes placement part of the program itself.

The result is not simply another hardware description language. It is a language for building computational systems whose software and hardware share the same model of reality.

     PART I
Rethink computation
        │
        ▼
     PART II
Computation is a property of a physical/computational universe
        │
        ▼
     PART III
Asynchronous computation changes the programming model
        │
        ▼
     PART IV
MatterScript can learn and construct models of matter
        │
        ▼
     PART V
Geometry becomes code
        │
        ▼
     PART VI
Code becomes physical systems
        │
        ▼
     PART VII
Space and time become programming primitives
        │
        ▼
    PART VIII
The language becomes a compiler/toolchain
        │
        ▼
     PART IX
The compiled system becomes a runtime
        │
        ▼
      PART X
The runtime becomes a world model
        │
        ▼
     PART XI
Multiple machines become one distributed
space-time computational system
        │
        ▼ 
     PART XII
Complete systems

Drafting in progress…