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 JIT: More work on our IO abstraction layer (Dick).
30 JIT: exception handling for unmanaged code (Dietmar)
32 System.Reflection: Support for PropertyInfo and
33 PropertyBuilder as well as the various queries for MethodBase.
35 C#: Pre-processor; Rewrite of MemberLookup which fixed many of
36 the outstanding issues. More bug fixing allows it to compile
41 Dietmar has improved the register allocation and now Mono performs
42 two to three times as fast as it did yesterday. Amazing.
44 The compiler keeps moving along, explicit interface
45 implementation is there.
49 The JIT engine can now run all the compiler regression tests as
50 well as assorted other programs, many more opcodes added
51 recently. Currently the JIT engine uses a very simplistic register
52 allocator (just enough to allow us to focus on feature completeness)
53 and that will be the next major task to improve performance and
54 reduce spills and reloads.
56 On the C# compiler front: language features are now pretty
57 much complete. The big missing tasks are unsafe code support,
58 visibility, explicit interface implementation plus static flow
59 analysis. There are many small bugs that need to be addressed.
61 You can get your copy of the <a href="snapshots">latest Mono</a>
63 More work is also required on fixing the foundation class
64 libraries, it is easy to find spots now since Nick got the
69 AnonCVS access to Mono is here (updated every hour). Thanks
70 to <a href="http://www.hispalinux.es">HispaLinux</a> and Jesus
71 Climent for helping to set this up.
75 All tests from the mono runtime work with the JIT engine now
78 Recursive enumeration definition in the C# compiler are
81 More work on the Web classes (Gaurav).
85 JIT land: Paolo got GDB support into the JIT engine while
86 Dietmar added exceptions support to it.
88 The C# compiler supports all array initializations now, and the
89 switch statement as well as fixing many existing bugs. Many
92 Nick keeps working on improving our class library test suite.
94 Dick has almost completed the Mono IO layer.
99 Mike Kestner has posted an <a
100 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
107 Paolo today got the Mono C# compiler running <a
108 href="http://lists.ximian.com/archives/public/mono-list/2001-November/001941.html">on
109 Linux</a>. It compiles a sample program and then the sample
112 Mutator unary operators (++ and --) in the compiler are fully
113 functional, they used to only work on variables, and now they
116 To sum things up: The Mono C# compiler is written in C# and
117 uses the .NET classes to get its work done. To make this work
118 on Linux work has to happen in various fronts:
120 * The C# compiler is being worked on and can compile
121 many programs now (our test suite at this point is
122 made up of 40 tests).
124 * The class libraries need to be mature enough to support
125 the compiler, particularly System.Reflection.Emit (which is
126 what Paolo has been working on lately).
128 The compiler currently requires 103 classes from the
129 .NET runtime (you can get the list by running: <b>monodis --typeref mcs.exe</b>
131 * The interpreter should be mature enough to run the actual
132 compiler byte codes and the corlib bytecodes.
135 At the same time, Dietmar is working on the JIT engine which will
136 replace our interpreter in production.
142 Dietmar got value types working on the JIT engine. Sean has
143 got assembly loading in the runtime (required for NUnit).
145 More progress on enumerations and attributes from Ravi.
147 Nick keeps working on improving our class libraries.
153 Enumerations, array access and attributes for the C# compiler are into the CVS now.
155 Full array support is not complete, but moving along.
161 Dietmar's new set of patches to the JIT have 20 out of 33
168 Mike Kestner, main Gtk# contributor has posted a very interesting <a
169 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000013.html">
170 update</a> on his work on Gtk#.
172 Ravi commited the initial support for Attributes in the
175 Many HTML Controls from Leen checked into CVS.
177 Paolo checked in his new System.Reflection and
178 System.Reflection.Emit implementations. He has been working
179 steadily on this huge task for a few weeks now. This is the
180 foundation for the Mono C# compiler, and hence a very
181 important piece of the puzzle.
187 Many clean ups have been going into the class library by Nick Drochak.
189 Mega patch from Dietmar: he commited the flow analysis code
192 A lot of work has been going into the WebControls by Gaurav (4
193 new controls plus improved and bug fixed base classes).
199 Ravi commited the caller-side method selection of methods with
200 variable length arguments. Now he depends on Miguel finishing
201 the array handling support.
207 Lots of classes for System.Web from Gaurav were commited this
210 Some large recent developments:
212 The Decimal implementation from Martin Weindel has been
213 partially integrated (we need to put the internalcalls in
214 place now and compile and link the decimal code).
216 Derek Holden commited recently the IntegerFormatter code into
217 the CVS, so we got a pretty comprehensive integer formatting
218 engine that we can finally use all over the place.
220 Compiler got support for lock as well as assorted bug fixes.
221 Ravi is still working on array support (and then we can
222 optimize foreach for the array case).
224 Dietmar is busy working on flow analysis on the JITer, the
225 previous mechanism of generating the forest was wrong. Paolo
226 has been a busy bee reworking the System.Reflection.Emit
227 support code, and we should have some pretty nice stuff next
228 week. Dick on the other hand is still working on the
229 WaitOne/WaitAll emulation code. WaitAll is like select on
230 steroids: it can wait for different kinds of objects: files,
231 mutexes, events and a couple of others.
233 Mike Kestner is busy working on Gtk# which is now using the
234 .defs files to quickly wrap the API.
240 Reworking expressions to support cleanly indexers and
241 properties. <a href="http://www.nat.org/evolution.php3">11
242 days</a> until Evolution 1.0 ships.
244 Ximian users around the world <!--a
245 href="http://www.bez.it/IMAGES/nora.jpg"-->rejoice<!--/a--> with
246 recent C# compiler progress.
252 Delegate support has been checked into the compiler
253 (definition and invocation); break/continue implemented.
259 JIT engine supports many of the object constructs now (object
260 creation, vtable setup, interface table setup).
262 The C# compiler now has almost full property support (only
263 missing bit are pre-post increment/decrement operations),
264 delegates are now created (still missing delegate invocation).
265 try/catch/finally is also supported in the compiler now.
267 System.Decimal implementation is in, as well as many crypto
274 Sergey has released his first version of the <b>ilasm</b>
275 assembler written in C#. You can get it from his web page:
277 href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>.
279 The plan is to integrate ildasm into the Mono CVS soon. This
280 component should in theory also be reusable for SharpDevelop
287 Our System.Reflection.Emit implementation created its first
288 executable today. This means that a very simple .NET program
289 that was compiled on Windows was able to generate a .NET program
290 while running on Linux using the Mono runtime.
292 The various piece of the puzzle are starting to get together:
293 the compiler can compile simple programs now and we are
294 basically focusing on completeness now.
301 href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
302 Develop 0.80</a> was released today.
308 More progress: more opcodes are working (Paolo); The compiler
309 runs up to a point in Mint (Paolo); operator overloading works
310 (both unary and binary) all over the place (Miguel); Completed decimal
311 type conversions (Miguel); New build system in place based on
312 Ant (Sean and Sergey); Refactored and documented the
313 internals of the JIT engine (Dietmar); StatementExpressions
314 handled correctly (Miguel).
320 A couple of news-worthy items: Dick got the initial thread
321 support into mint; Paolo implemented many new opcodes; Dietmar
322 got long operations and mul/div working on the JITer; Ravi rewrote
323 the Method selector for expressions to be conformant; Miguel
324 got i++ working. All in tonight's snapshot
330 Paolo has written a section on <a href="porting.html">Porting
331 Mono</a> to othre architectures.
337 <A a href="download.html#sep-18">Mono 0.7</a> has been
338 released (runtime engine, class libraries
339 and C# compiler). Check the <a href="archive/mono-0.7">Mono
340 0.7 announcement</a> for details
346 Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS
347 repository. Gtk# can run a simple hello world application.
348 The binding is nice, as it maps Gtk+ signals to delegates in
349 C#. You can see the Gtk# Hello World program <a href="src/HelloWorld.cs">here</a>
351 Gtk-sharp should be available on the next snapshot set.
357 Dietmar checked in his CIL tree/forest regeneration and most
358 importantly, the x86 instruction selector burg grammar.
365 The MCS compiler <b>can compile the sample Hello World</b>
366 application and generate a Windows/CIL executable that runs!
368 This executable runs with the Mono Interpreter of course (see
375 Dietmar checked into CVS the `monoburg' architecture
376 independent instruction selector for the JIT engine.
382 <b>.NET Hello World is working under Mono!</b> The latest snapshots
385 Hello World consits of 1821 CIL instructions,
386 performs 66 subroutine calls and loads 12 classes from the corlib.dll
394 Lloyd Dupont has announced his OpenGL bindings for C#, they
395 are available here: <a
396 href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
402 New version of the Mono Runtime, Compiler and Classes has been
404 href="download.html#august-22">released.</a> Check the <a
405 href="archive/mono-0.6">0.6 announcement</a>.
411 A new <a href="contributing.html#compile-service">Compilation
412 service</a> has been made available by Derek to allow people
413 without access to the <a
414 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>
420 Daily snapshots of mcs and mono are now available, they will
421 run every night at 10pm Boston time.
427 Mono Runtime 0.5 has been <a
428 href="download.html#july-29">released.</a> Check the <a
429 href="archive/mono-0.5">release notes</a>
435 The slides for <A href="Presentations/O-Reilly">my
436 presentation</a> at <a href="http://www.oreilly.com">O'Reilly
437 Open Source Software Convention</a>
443 Another release of the class libraries is out, check the <a
444 href="archive/mcs-22">MCS 22-July Release Notes</a>. You can
445 get the new class libraries from <a
446 href="download.html#july-22">here</a>
452 Another release of the class libraries is out, check the <a
453 href="archive/mcs-19">MCS 19-July Release Notes</a>. You can
454 get the new class libraries from <a
455 href="download.html#july-19">here</a>
461 Another release of the class libraries is out, check the <a
462 href="archive/mcs-17">MCS 17-July Release Notes</a>. You can
463 get the new class libraries from <a
464 href="download.html#july-17">here</a>
466 Do not forget to check out the updated <a href="faq.html">FAQ</a>.
468 Got Sean's new <a href="class-status/index.html">Class
469 Status</a> web pages up. These are a lot better than mine, and
470 we are now keeping better track of contributors.
476 Another release of Mono is out, check the <a
477 href="archive/mono-0.4">Mono 0.4 Release Notes</a>. Get it <a
478 href="download.html#july-15">here</a>.
485 href="http://lists.ximian.com/archives/public/mono-list/2001-July/000399.html">new
487 runtime, compiler and classes has been made. Get it <a href="download.html#july-14">here</a>
493 I keep getting questions about my opinion on Passport, even when
494 Mono has <b>nothing</b> to do with it. I finally <a
495 href="passport.html">wrote something.</a>
507 Brian posted a story on <a
508 href="http://www.oreillynet.com/dotnet">O'Reilly Network .NET</a>