tagging
Conversation
Probably not much direct help, but the GreenArrays #GA144 (144 Forth CPU nodes) does message passing (RPC) by having each node listen & execute whatever word is sent to it's port.
1
3
If you want to send data you send a "fetch from port" command that reads the next word you send. If you want to read from the port, you send a command that causes the node to write to that port. It's "always be reading & executing words". Not sending data.
1
2
Credit where credit is due: my ideas on protocols are heavily inspired by what I read about #GA144, applied to C/HDL & CSP.
Also: big difference between internal protocols (that can change over time and can thus be optimized for simplicity), and external APIs that cannot change.
1
2
I dread writing external APIs. They are an impossible problem: need to be future proof, but can't know everything ahead of time. So they get really ugly over time.
A lot of the Forth lore is about avoiding this altogether: get good at writing simple, special purpose code.
1
2
A message is a program that runs in another context. This is a really good way to look at things. Combine it with embracing statefulness at the receiving end, and compensate that by transactions.
Code is easy to generate, data is hard to parse.
Prefer printing over parsing.
1
2
The first time I encountered this was in the GUI protocol of Pure Data. Pd sends TCL to the GUI, and GUI sends Pd messages to Pd.
At first I thought this was really ugly. And maybe it is. But it is incredibly useful as a simplification tool in heterogeneous systems.
1
1
I *think* I get how I would do this. This would be for a display:
read image description
ALT
1
1
I am doomed to re-invent every greatest-hit from the 80s and 90s.
1
1
You're doing great.
Next station: Scheme interpreter


