This project is read-only.

Documentation for Singularity

Mar 30, 2008 at 3:22 PM
I want to write several small projects for Singularity. I know hot to build Singularity images, how to attach my executables to the image but I can't write anything than "hello world" because I have no documentation of Singularity namespaces and classes. For example, I see Microsoft.Singularity.Io namespace in sources but I do not know what classes does this namespace include as well as how to use these classes. Is there anything like MSDN Library for Singularity where I can get description of Singularity classes and namespaces?

Thanks in advance for help.
Mar 31, 2008 at 3:56 AM
I doubt there is anything as formal is MSDN Library, but it seems there should be more than what we have now. For example the file base\Kernel\System\Threading\Mutex.cs has comments such as:

//| <include path='docs/doc@for="Mutex"/*' />

Which makes it look like separate documentation of some sort exists. How about releasing this also guys?
Mar 31, 2008 at 10:30 PM

Krusty wrote:
Which makes it look like separate documentation of some sort exists. How about releasing this also guys?

RDK customers have access to all the same documentation as Singularity developers, which is just the source code and design notes - as a research project, we aren't staffed with technical writers. The tags you saw are related to documentation generation from C# XML-style comments, which was removed from the build because it hasn't been used for a long time and is no longer fully functional. There is no further documentation currently available for any Singularity-specific classes, although we invite you to ask any questions you have here (responses will be archived and help document the platform for future users), and we also invite the community to contribute new documentation via "Upload Patch" on the Source Code tab.

Some parts of Singularity, such as the base class library, are very similar to the official documented base class library on MSDN, and are documented there under the same namespace and class names, with some minor changes. Another good strategy for learning about the code is to take a look at the applications under base\Applications and see how they use the Singularity classes. Please let me know if you have any other questions.
Derrick Coetzee
Microsoft Research Operating Systems Group developer
Mar 31, 2008 at 10:48 PM
Edited Apr 2, 2008 at 1:40 AM
superceeded by previous post
Apr 1, 2008 at 8:15 AM
It could be possible to generate documentation from sources in Singularity\base\Libraries via such tools like NDoc but I've never tryed to use it.