The correct title of this article is Sing#. The substitution or omission of the # is because of technical restrictions.
Sing# is a concurrent programming language that is a superset of the Spec# programming language; in turn, Spec# is an extension of the C# programming language. Microsoft Research developed Spec#, and later extended it into Sing# in order to develop the Singularity operating system. Sing# augments the capabilities of Spec# with support for channels and low-level programming language constructs, which are necessary for implementing system software. Sing# is type-safe. The semantics of message-passing primitives in Sing# are defined by formal and written contracts.
- Language Support for Fast and Reliable Message-based Communication in Singularity OS. Manuel Fähndrich, Mark Aiken, Chris Hawblitzel, Orion Hodson, Galen C. Hunt, James R. Larus, and Steven Levi. Proceedings of EuroSys2006. Leuven, Belgium, April 2006. ACM SIGOPS.
- An Overview of the Singularity Project, Technical Report MSR-TR-2005-135, Microsoft Research, 2005.