The CTS is about integration between languages: using another language's objects as if they were one's own.
The objective of the CLI is to make it easier to write components and applications in any language. It does this by defining a standard set of types, by making all components fully selfdescribing, and by providing a high performance common execution environment. This ensures that all CLI-compliant system services and components will be accessible to all CLI-aware languages and tools. In addition, this simplifies deployment of components and applications that use them, all in a way that allows compilers and other tools to leverage the high performance execution environment. The CTS covers, at a high level, the concepts and interactions that make all of this possible.
The discussion is broken down into four areas:
-
Type System – What types are and how to define them.
-
Metadata – How types are described and how those descriptions are stored.
-
Common Language Specification – Restrictions required for language interoperability.
-
Virtual Execution System – How code is executed and how types are instantiated, interact, and die.
End informative text.