archives

Singularity: Rethinking the Software Stack

Singularity: Rethinking the Software Stack.
Galen C. Hunt; James R. Larus. April 2007

...Singularity systems incorporate three key architectural features: software-isolated processes for protection of programs and system services, contract-based channels for communication, and manifest-based programs for verification of system properties. We describe this foundation in detail and sketch the ongoing research in experimental systems that build upon it.

Singularity comes up in discussion every now and then. This seems like a nice and recent overview.

Simple ADT-based "side-band" state?

Per some old LtU discussion and other implementations, there's interest in having some kind of side-band communication channel. The last post of the mentioned old LtU discussion asks: couldn't one just use an abstract data type? If the answer is "yes, that's a fine idea - but the syntax would get annoying because you would have to be creating all these containers to pass into function calls all the time, and then use getter methods inside the functions" then might an applications of macros, or implicit conversions, be a way to solve that usability issue?

It seems similar to just saying that all functions take optional arguments, but perhaps the two approaches have different consequences when it comes to typing?

(As you can probably tell, I haven't thought this through much, or hacked up any test code, so this line of thinking's value is perhaps fast approaching zero.)