1 <a href="http://www.ximian.com">Ximian</a> announced the
2 launch of the Mono project, an effort to create an Open Source
3 implementation of the .NET Development Framework.
5 Mono includes: <a href="c-sharp.html">a compiler</a> for the
6 C# language, a <a href="runtime.html">runtime</a> for the
7 Common Language Infrastructure and a set of <a
8 href="class-library.html">class libraries</a>.
10 You can read our <a href="rationale.html">rationale</a> for
11 this project. If you have questions about the project, please
12 read our list of <a href="faq.html">Frequently Asked
13 Questions</a> or <a href="mailto:mono-list@ximian.com">contact us.</a>
15 You might also want to <a href="download.html">Download the
16 source</a> for our work so far. Or you can grab a <a
17 href="snapshots">snapshot</a> of our current work.
20 href="resources.html#mailing">subscribe</a> to our mono-list
21 and mono-announce-list
23 You can contact the team at: <a
24 href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
28 Our compiler has been self-supporting since January 3rd. In
29 the meantime, we have been busy working on making it run on
30 Linux. Today Paolo got more work done on Reflection.Emit and
31 the compiler compiled `console.cs' (a sample Mono program) on
36 Dietmar landed the Unicode support patch. Class libraries and
37 runtimes are now fully Unicode aware. The details are <a href=
38 "http://lists.ximian.com/archives/public/mono-list/2002-January/002409.html">
41 Last minute breaking news: Paolo got our compiler in Linux to
42 compile fib.cs, patches are comming tomorrow once we have
47 Mike Kestner posted an update on Gtk# <a
48 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-January/000021.html"><i>New
49 year, new direction</i></a>.
51 Gtk# will be our foundation on which we will be implementing
56 Mono C# compiler becomes self-sufficient. We can now continue
57 development of the compiler with itself.
59 Work on the class libraries is still underway for having a full
60 self hosting system. We hope to achieve our goal of self-hosting
61 on Linux before the end of the month.
63 Join the fun by downloading either tonight's <a
64 href="snapshots">snapshot</a> or getting your sources from our
65 <a href="anoncvs.html">Anonymous CVS server</a>.
69 After a lot of work, the C# compiler can compile itself.
70 There are still errors in the generated image, but they are
73 We will soon have the first non-Microsoft C# implementation!
77 JIT: More work on our IO abstraction layer (Dick).
79 JIT: exception handling for unmanaged code (Dietmar)
81 System.Reflection: Support for PropertyInfo and
82 PropertyBuilder as well as the various queries for MethodBase.
84 C#: Pre-processor; Rewrite of MemberLookup which fixed many of
85 the outstanding issues. More bug fixing allows it to compile
90 Dietmar has improved the register allocation and now Mono performs
91 two to three times as fast as it did yesterday. Amazing.
93 The compiler keeps moving along, explicit interface
94 implementation is there.
98 The JIT engine can now run all the compiler regression tests as
99 well as assorted other programs, many more opcodes added
100 recently. Currently the JIT engine uses a very simplistic register
101 allocator (just enough to allow us to focus on feature completeness)
102 and that will be the next major task to improve performance and
103 reduce spills and reloads.
105 On the C# compiler front: language features are now pretty
106 much complete. The big missing tasks are unsafe code support,
107 visibility, explicit interface implementation plus static flow
108 analysis. There are many small bugs that need to be addressed.
110 You can get your copy of the <a href="snapshots">latest Mono</a>
112 More work is also required on fixing the foundation class
113 libraries, it is easy to find spots now since Nick got the
118 AnonCVS access to Mono is here (updated every hour). Thanks
119 to <a href="http://www.hispalinux.es">HispaLinux</a> and Jesus
120 Climent for helping to set this up.
124 All tests from the mono runtime work with the JIT engine now
127 Recursive enumeration definition in the C# compiler are
130 More work on the Web classes (Gaurav).
134 JIT land: Paolo got GDB support into the JIT engine while
135 Dietmar added exceptions support to it.
137 The C# compiler supports all array initializations now, and the
138 switch statement as well as fixing many existing bugs. Many
141 Nick keeps working on improving our class library test suite.
143 Dick has almost completed the Mono IO layer.
148 Mike Kestner has posted an <a
149 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
156 Paolo today got the Mono C# compiler running <a
157 href="http://lists.ximian.com/archives/public/mono-list/2001-November/001941.html">on
158 Linux</a>. It compiles a sample program and then the sample
161 Mutator unary operators (++ and --) in the compiler are fully
162 functional, they used to only work on variables, and now they
165 To sum things up: The Mono C# compiler is written in C# and
166 uses the .NET classes to get its work done. To make this work
167 on Linux work has to happen in various fronts:
169 * The C# compiler is being worked on and can compile
170 many programs now (our test suite at this point is
171 made up of 40 tests).
173 * The class libraries need to be mature enough to support
174 the compiler, particularly System.Reflection.Emit (which is
175 what Paolo has been working on lately).
177 The compiler currently requires 103 classes from the
178 .NET runtime (you can get the list by running: <b>monodis --typeref mcs.exe</b>
180 * The interpreter should be mature enough to run the actual
181 compiler byte codes and the corlib bytecodes.
184 At the same time, Dietmar is working on the JIT engine which will
185 replace our interpreter in production.
191 Dietmar got value types working on the JIT engine. Sean has
192 got assembly loading in the runtime (required for NUnit).
194 More progress on enumerations and attributes from Ravi.
196 Nick keeps working on improving our class libraries.
202 Enumerations, array access and attributes for the C# compiler are into the CVS now.
204 Full array support is not complete, but moving along.
210 Dietmar's new set of patches to the JIT have 20 out of 33
217 Mike Kestner, main Gtk# contributor has posted a very interesting <a
218 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000013.html">
219 update</a> on his work on Gtk#.
221 Ravi commited the initial support for Attributes in the
224 Many HTML Controls from Leen checked into CVS.
226 Paolo checked in his new System.Reflection and
227 System.Reflection.Emit implementations. He has been working
228 steadily on this huge task for a few weeks now. This is the
229 foundation for the Mono C# compiler, and hence a very
230 important piece of the puzzle.
236 Many clean ups have been going into the class library by Nick Drochak.
238 Mega patch from Dietmar: he commited the flow analysis code
241 A lot of work has been going into the WebControls by Gaurav (4
242 new controls plus improved and bug fixed base classes).
248 Ravi commited the caller-side method selection of methods with
249 variable length arguments. Now he depends on Miguel finishing
250 the array handling support.
256 Lots of classes for System.Web from Gaurav were commited this
259 Some large recent developments:
261 The Decimal implementation from Martin Weindel has been
262 partially integrated (we need to put the internalcalls in
263 place now and compile and link the decimal code).
265 Derek Holden commited recently the IntegerFormatter code into
266 the CVS, so we got a pretty comprehensive integer formatting
267 engine that we can finally use all over the place.
269 Compiler got support for lock as well as assorted bug fixes.
270 Ravi is still working on array support (and then we can
271 optimize foreach for the array case).
273 Dietmar is busy working on flow analysis on the JITer, the
274 previous mechanism of generating the forest was wrong. Paolo
275 has been a busy bee reworking the System.Reflection.Emit
276 support code, and we should have some pretty nice stuff next
277 week. Dick on the other hand is still working on the
278 WaitOne/WaitAll emulation code. WaitAll is like select on
279 steroids: it can wait for different kinds of objects: files,
280 mutexes, events and a couple of others.
282 Mike Kestner is busy working on Gtk# which is now using the
283 .defs files to quickly wrap the API.
289 Reworking expressions to support cleanly indexers and
290 properties. <a href="http://www.nat.org/evolution.php3">11
291 days</a> until Evolution 1.0 ships.
293 Ximian users around the world <!--a
294 href="http://www.bez.it/IMAGES/nora.jpg"-->rejoice<!--/a--> with
295 recent C# compiler progress.
301 Delegate support has been checked into the compiler
302 (definition and invocation); break/continue implemented.
308 JIT engine supports many of the object constructs now (object
309 creation, vtable setup, interface table setup).
311 The C# compiler now has almost full property support (only
312 missing bit are pre-post increment/decrement operations),
313 delegates are now created (still missing delegate invocation).
314 try/catch/finally is also supported in the compiler now.
316 System.Decimal implementation is in, as well as many crypto
323 Sergey has released his first version of the <b>ilasm</b>
324 assembler written in C#. You can get it from his web page:
326 href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>.
328 The plan is to integrate ildasm into the Mono CVS soon. This
329 component should in theory also be reusable for SharpDevelop
336 Our System.Reflection.Emit implementation created its first
337 executable today. This means that a very simple .NET program
338 that was compiled on Windows was able to generate a .NET program
339 while running on Linux using the Mono runtime.
341 The various piece of the puzzle are starting to get together:
342 the compiler can compile simple programs now and we are
343 basically focusing on completeness now.
350 href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
351 Develop 0.80</a> was released today.
357 More progress: more opcodes are working (Paolo); The compiler
358 runs up to a point in Mint (Paolo); operator overloading works
359 (both unary and binary) all over the place (Miguel); Completed decimal
360 type conversions (Miguel); New build system in place based on
361 Ant (Sean and Sergey); Refactored and documented the
362 internals of the JIT engine (Dietmar); StatementExpressions
363 handled correctly (Miguel).
369 A couple of news-worthy items: Dick got the initial thread
370 support into mint; Paolo implemented many new opcodes; Dietmar
371 got long operations and mul/div working on the JITer; Ravi rewrote
372 the Method selector for expressions to be conformant; Miguel
373 got i++ working. All in tonight's snapshot
379 Paolo has written a section on <a href="porting.html">Porting
380 Mono</a> to othre architectures.
386 <A a href="download.html#sep-18">Mono 0.7</a> has been
387 released (runtime engine, class libraries
388 and C# compiler). Check the <a href="archive/mono-0.7">Mono
389 0.7 announcement</a> for details
395 Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS
396 repository. Gtk# can run a simple hello world application.
397 The binding is nice, as it maps Gtk+ signals to delegates in
398 C#. You can see the Gtk# Hello World program <a href="src/HelloWorld.cs">here</a>
400 Gtk-sharp should be available on the next snapshot set.
406 Dietmar checked in his CIL tree/forest regeneration and most
407 importantly, the x86 instruction selector burg grammar.
414 The MCS compiler <b>can compile the sample Hello World</b>
415 application and generate a Windows/CIL executable that runs!
417 This executable runs with the Mono Interpreter of course (see
424 Dietmar checked into CVS the `monoburg' architecture
425 independent instruction selector for the JIT engine.
431 <b>.NET Hello World is working under Mono!</b> The latest snapshots
434 Hello World consits of 1821 CIL instructions,
435 performs 66 subroutine calls and loads 12 classes from the corlib.dll
443 Lloyd Dupont has announced his OpenGL bindings for C#, they
444 are available here: <a
445 href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
451 New version of the Mono Runtime, Compiler and Classes has been
453 href="download.html#august-22">released.</a> Check the <a
454 href="archive/mono-0.6">0.6 announcement</a>.
460 A new <a href="contributing.html#compile-service">Compilation
461 service</a> has been made available by Derek to allow people
462 without access to the <a
463 href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true">.NET SDK</a>
469 Daily snapshots of mcs and mono are now available, they will
470 run every night at 10pm Boston time.
476 Mono Runtime 0.5 has been <a
477 href="download.html#july-29">released.</a> Check the <a
478 href="archive/mono-0.5">release notes</a>
484 The slides for <A href="Presentations/O-Reilly">my
485 presentation</a> at <a href="http://www.oreilly.com">O'Reilly
486 Open Source Software Convention</a>
492 Another release of the class libraries is out, check the <a
493 href="archive/mcs-22">MCS 22-July Release Notes</a>. You can
494 get the new class libraries from <a
495 href="download.html#july-22">here</a>
501 Another release of the class libraries is out, check the <a
502 href="archive/mcs-19">MCS 19-July Release Notes</a>. You can
503 get the new class libraries from <a
504 href="download.html#july-19">here</a>
510 Another release of the class libraries is out, check the <a
511 href="archive/mcs-17">MCS 17-July Release Notes</a>. You can
512 get the new class libraries from <a
513 href="download.html#july-17">here</a>
515 Do not forget to check out the updated <a href="faq.html">FAQ</a>.
517 Got Sean's new <a href="class-status/index.html">Class
518 Status</a> web pages up. These are a lot better than mine, and
519 we are now keeping better track of contributors.
525 Another release of Mono is out, check the <a
526 href="archive/mono-0.4">Mono 0.4 Release Notes</a>. Get it <a
527 href="download.html#july-15">here</a>.
534 href="http://lists.ximian.com/archives/public/mono-list/2001-July/000399.html">new
536 runtime, compiler and classes has been made. Get it <a href="download.html#july-14">here</a>
542 I keep getting questions about my opinion on Passport, even when
543 Mono has <b>nothing</b> to do with it. I finally <a
544 href="passport.html">wrote something.</a>
556 Brian posted a story on <a
557 href="http://www.oreillynet.com/dotnet">O'Reilly Network .NET</a>