Distributed Reactive Programming for Claytronics
July 9, 2019

Archived from an original LinkedIn post by Brian Greenforest.

Original Post

Designing a distributed reactive programming language is the major stepstone on the long path to scalable Claytronics (programmable matter).

Resource allocation could (and should) be made explicit in a distributed programming language.

When programmer is aware about exact size and locations of available resources, efficient management of these resources becomes possible.

Imagine allocating chunks of memory in malloc() not only specifying size, but exact address, where the chunk should be allocated. Imagine calling fork() and specifying exact core (or even remote location).

In our computing model, code is data, and data is code, so the type of resource is homogeneous. Only geometrical physical location is left, and the fact that the resource is available / managed / or was lost etc.

A great work was done by Florian Myter on the underneath layer https://lnkd.in/gwSU_Q4

We need to explore high-level design for the language where distributed management of resources can be agreed upon over shared access to areas of influence.

Imagine working on moving boxes with your friend. You can agree that your friend will be moving the left part, and you'll be moving the right part. Without the agreement, you experience a lot of "resource contention"...

Links From the Original Post