18.3. CLR & Mono
The Mono Project is an open development initiative sponsored by Ximian that is working to develop an open source, Unix version of the Microsoft .NET development and run time platform. Its objective is to enable Unix developers to build and deploy cross-platform .NET Applications. Likewise, this expands the capabilities of Windows programmers, this project opens .NET to non Windows platforms. Mono will implement various Microsoft technologies that have now been submitted to the ECMA for standardization.
The Goal is similar to that of Java, implementing a common virtual machine on multiple operating systems, however you are not restricted to one language.
Like .NET, Mono contains a Common Language Infrastructure (CLI) virtual, machine that contains a class loader, Just-in-time compiler, and a garbage collecting runtime; a class library that can work with any language which works on the CLR; a compiler for the C# language.
Windows has compilers that target the virtual machine from a number of languages: Managed C++, JavaScript, Eiffel, Component Pascal, APL, Cobol, Perl, Python, Ruby, Scheme, Smalltalk, Standard ML, Haskell, Mercury and Oberon. A single object system, threading system, class libraries, and garbage collection system can be shared across all these languages, the CLR.
The CLR and the Common Type System (CTS) enables applications and libraries to be written in a collection of different languages that target the CLR byte code. This means that you could define a class to do algebraic manipulation written in C#, that class can be reused from any other language that supports the CLI. You could create a class in C#, subclass it in C++ and instantiate it in an Eiffel program.
See Also: | |
---|---|
The Create Assembly Syntax The External Hosted Create PROCEDURE Syntax |
18.3.1. Environment Setup
Ximian announced the launch of the Mono project, an effort to create an open source implementation of the .NET Development Framework.
Follow the steps below to configure the CLR runtime environment with Virtuoso:
-
Install Mono. The Mono package is available from the Mono project home page in the form of an RPM for Linux. The source is also available.
-
Make mscorlib.dll available to /usr/local/lib. The mscorlib.dll is installed by Mono and needs to be symlinked from its default location to
/usr/local/lib
.