Just had a nice insight regarding systems that deal with reactively updating (potentially large, structured) values such as RDP:
The dynamic output of a process is indistinguishable from a static storage resource (file).
In batch systems like Unix, this symmetry is not so deep: the output stream of a process looks somewhat like a file, but the process can't make any changes to earlier, already emitted portions of the stream. This is unlike a file, which can be edited anywhere.
In a reactive system, a process output is truly indistinguishable from a file. The process may decide to update any part of the emitted value at any time, just like a user editing a storage resource.
Apart from being a nice symmetry in itself, I think this also offers new possibilities for user experience. Processes and files can be used interchangeably in the UI. A file can be viewed as a (rather boring) process, whose output gets edited by the user (similar to data in pi calculus).
Subscribe to:
Post Comments (Atom)
1 comment:
You might find this relevant: https://news.ycombinator.com/item?id=11223697
It takes this thinking down to each character typed. Happy to see other people having the same thoughts :)
Post a Comment