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).
Thursday, May 19, 2016
Subscribe to:
Posts (Atom)