The Common Language Infrastructure (CLI) is the ECMA standard that describes the core of the .NET Framework world. The Shared Source CLI is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification.
This implementation builds and runs on Windows XP, the FreeBSD operating system, and Mac OS X 10.2. It is released under a shared source initiative. Please see the accompanying
license.
The Shared Source CLI goes beyond the printed specification of the ECMA standards, providing a working implementation for CLI developers to explore and understand. It will be of interest to academics and researchers wishing to teach and explore modern programming language concepts, and to .NET developers interested in how the technology works.
FeaturesThe Shared Source CLI archive contains the following technologies in source code form:
- An implementation of the runtime for the Common Language Infrastructure (ECMA-335) that builds and runs on Windows XP, the FreeBSD operating system, and Mac OS X 10.2.
- Compilers that work with the Shared Source CLI for C# (ECMA-334) and JScript.
- Development tools for working with the Shared Source CLI such as assembler/disassemblers (ilasm, ildasm), a debugger (cordbg), metadata introspection (metainfo), and other utilities.
- The Platform Adaptation Layer (PAL) used to port the Shared Source CLI from Windows XP to FreeBSD and Mac OS X.
- Build environment tools (nmake, build, and others).
- Documentation for the implementation.
- Test suites used to verify the implementation.
- A rich set of sample code and tools for working with the Shared Source CLI.
New in this ReleaseA more detailed list of what's new in this release is included in the FAQ (below).
- Support for Mac OS X 10.2.
- Additional code clean-up and bug fixes.
- Debugger improvements.
- Class reference documentation (separate archive) and additional samples.
- Build system improvements and additional test cases and tool improvements.
What can I do with the Shared Source CLI? There is a wealth of programming language technology in the Shared Source CLI. It is likely to be of interest to a wide audience, including:
- Developers interested in the internal workings of the .NET Framework can explore this implementation of the CLI to see how garbage collection works, JIT compilation and verification is handled, security protocols implemented, and the organization of frameworks and virtual object systems.
- Teachers and researchers doing work with advanced compiler technology. Research projects into language extensions, JIT optimizations, and modern garbage collection all have a basis in the Shared Source CLI. Modern compiler courses can be based on the C# or JScript languages implemented on the CLI.
- People developing their own CLI implementations will find the Shared Source CLI an indispensable guide and adjunct to the ECMA standards.