* The MonoNet runtime The MonoNet runtime will implement the JIT engine (and a byte code interpreter for quickly porting to new systems), the class loader, the garbage collector, threading system and metadata access libraries. Currently the runtime contains the beginning of an image loader and metadata access entry points. Since Beta2 has been now released, it is possible to resume work using the ECMA specs and testing with Beta2-generated executables. The runtime core will be implemented in C, in a library "libMonoVES.so". ** Executing MSIL/CIL images The code will load an executable and map the references to external assemblies to our own version of the assemblies on GNU/Linux. Our roadmap looks like this: A setup similar to the Kaffe JIT engine can be used to layout the code to support non-IA32 architectures. Our work will be focused on getting a IA32 version running first. The JIT engine should work on Linux and Win32, although you might need to install the CygWin32 development tools to get a Unix-like compilation environment. ** JIT Engine Currently we are evaluating various mechanisms for our JIT engine (ORP, GNU Lightning, and NJ Machine Toolkit. We have not made a decision yet, but we might want to use a Code Generator Generator for the Common Intermediate Language, as that is likely going to allow us to create better code. ** Garbage Collection We have decided to implement a generational tracing garbage collector, which is very similar to the one being used by .NET. For an introduction to the garbage collection system used by Microsoft's CLR implementation, you can read this book on Garbage Collection. Although using a conservative garbage collector like Bohem's would work, all the type information is available at runtime, so we can actually implement a better collector than a conservative collector. ** Useful links Paolo Molaro found a few interesting links: ** PInvoke PInvoke will be supported, and will be used to wrap Unix API calls, these in turn are required for reusing some of the GNOME libraries that will reduce the work we have to do to deliver a complete class library.