Fri Jul 31 15:52:01 CEST 2009
linear data structures vs. dataflow communication channels
A linear data structure can be consumed only once. This seems
suspiciously similar to threads communicating over synchronous
channels: one read per write.
Combine this with Forth (stack languages) as a vehicle for linear data
structures it should be not too far from a very nice morphism between
linear forth + communicating processes.
Damn I need to write this down formally.
The hint is:
delimited continuations = tasks
such are the link between data structure cursors (data) and
traversal routines (code). essentially: the shift/reset can turn
the code into a data structure (= a piece of the return stack).
So when you start thinking in terms of: the data structure _is_ the
traversal, it can be made to disappear.
Essentially: datastructures are future computations.