Fri Apr 14 10:16:35 EDT 2017

Protocol oriented programming

The difference between concatenative and applicative is that for
applicative we tend to assume we're communicating "C structs".
E.g. it is assumed that there is random access memory.

For concatenative, we assume no such access: all access is sequential,
with only the stack looking at the most recent data.

What this allows, is to eliminate the van neumann bottleneck: there is
no need for a memory bus, only for communication channels, which scale

Something like that.  But this needs a lot of work to articulate.

EDIT: This makes sense only when there are two processors with
physical separation.  Not when implementing existing protocols.

EDIT: Maybe it's good to study some GA144 code, as it seems that this
principle will naturally unfold itself when writing code for the
multi-processor architecture.

What I'm interested in, is how to use this idea to design protocols.
It is more about: what a message actually is on the receiving end.

EDIT: I keep coming back to eliminating memory and buffering, by
replacing it by distributed busses.