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 Dietmar landed the Unicode support patch. Class libraries and
29 runtimes are now fully Unicode aware. The details are <a href=
30 "http://lists.ximian.com/archives/public/mono-list/2002-January/002409.html">
35 Mike Kestner posted an update on Gtk# <a
36 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2002-January/000021.html"><i>New
37 year, new direction</i></a>.
39 Gtk# will be our foundation on which we will be implementing
44 Mono C# compiler becomes self-sufficient. We can now continue
45 development of the compiler with itself.
47 Work on the class libraries is still underway for having a full
48 self hosting system. We hope to achieve our goal of self-hosting
49 on Linux before the end of the month.
51 Join the fun by downloading either tonight's <a
52 href="snapshots">snapshot</a> or getting your sources from our
53 <a href="anoncvs.html">Anonymous CVS server</a>.
57 After a lot of work, the C# compiler can compile itself.
58 There are still errors in the generated image, but they are
61 We will soon have the first non-Microsoft C# implementation!
65 JIT: More work on our IO abstraction layer (Dick).
67 JIT: exception handling for unmanaged code (Dietmar)
69 System.Reflection: Support for PropertyInfo and
70 PropertyBuilder as well as the various queries for MethodBase.
72 C#: Pre-processor; Rewrite of MemberLookup which fixed many of
73 the outstanding issues. More bug fixing allows it to compile
78 Dietmar has improved the register allocation and now Mono performs
79 two to three times as fast as it did yesterday. Amazing.
81 The compiler keeps moving along, explicit interface
82 implementation is there.
86 The JIT engine can now run all the compiler regression tests as
87 well as assorted other programs, many more opcodes added
88 recently. Currently the JIT engine uses a very simplistic register
89 allocator (just enough to allow us to focus on feature completeness)
90 and that will be the next major task to improve performance and
91 reduce spills and reloads.
93 On the C# compiler front: language features are now pretty
94 much complete. The big missing tasks are unsafe code support,
95 visibility, explicit interface implementation plus static flow
96 analysis. There are many small bugs that need to be addressed.
98 You can get your copy of the <a href="snapshots">latest Mono</a>
100 More work is also required on fixing the foundation class
101 libraries, it is easy to find spots now since Nick got the
106 AnonCVS access to Mono is here (updated every hour). Thanks
107 to <a href="http://www.hispalinux.es">HispaLinux</a> and Jesus
108 Climent for helping to set this up.
112 All tests from the mono runtime work with the JIT engine now
115 Recursive enumeration definition in the C# compiler are
118 More work on the Web classes (Gaurav).
122 JIT land: Paolo got GDB support into the JIT engine while
123 Dietmar added exceptions support to it.
125 The C# compiler supports all array initializations now, and the
126 switch statement as well as fixing many existing bugs. Many
129 Nick keeps working on improving our class library test suite.
131 Dick has almost completed the Mono IO layer.
136 Mike Kestner has posted an <a
137 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
144 Paolo today got the Mono C# compiler running <a
145 href="http://lists.ximian.com/archives/public/mono-list/2001-November/001941.html">on
146 Linux</a>. It compiles a sample program and then the sample
149 Mutator unary operators (++ and --) in the compiler are fully
150 functional, they used to only work on variables, and now they
153 To sum things up: The Mono C# compiler is written in C# and
154 uses the .NET classes to get its work done. To make this work
155 on Linux work has to happen in various fronts:
157 * The C# compiler is being worked on and can compile
158 many programs now (our test suite at this point is
159 made up of 40 tests).
161 * The class libraries need to be mature enough to support
162 the compiler, particularly System.Reflection.Emit (which is
163 what Paolo has been working on lately).
165 The compiler currently requires 103 classes from the
166 .NET runtime (you can get the list by running: <b>monodis --typeref mcs.exe</b>
168 * The interpreter should be mature enough to run the actual
169 compiler byte codes and the corlib bytecodes.
172 At the same time, Dietmar is working on the JIT engine which will
173 replace our interpreter in production.
179 Dietmar got value types working on the JIT engine. Sean has
180 got assembly loading in the runtime (required for NUnit).
182 More progress on enumerations and attributes from Ravi.
184 Nick keeps working on improving our class libraries.
190 Enumerations, array access and attributes for the C# compiler are into the CVS now.
192 Full array support is not complete, but moving along.
198 Dietmar's new set of patches to the JIT have 20 out of 33
205 Mike Kestner, main Gtk# contributor has posted a very interesting <a
206 href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000013.html">
207 update</a> on his work on Gtk#.
209 Ravi commited the initial support for Attributes in the
212 Many HTML Controls from Leen checked into CVS.
214 Paolo checked in his new System.Reflection and
215 System.Reflection.Emit implementations. He has been working
216 steadily on this huge task for a few weeks now. This is the
217 foundation for the Mono C# compiler, and hence a very
218 important piece of the puzzle.
224 Many clean ups have been going into the class library by Nick Drochak.
226 Mega patch from Dietmar: he commited the flow analysis code
229 A lot of work has been going into the WebControls by Gaurav (4
230 new controls plus improved and bug fixed base classes).
236 Ravi commited the caller-side method selection of methods with
237 variable length arguments. Now he depends on Miguel finishing
238 the array handling support.
244 Lots of classes for System.Web from Gaurav were commited this
247 Some large recent developments:
249 The Decimal implementation from Martin Weindel has been
250 partially integrated (we need to put the internalcalls in
251 place now and compile and link the decimal code).
253 Derek Holden commited recently the IntegerFormatter code into
254 the CVS, so we got a pretty comprehensive integer formatting
255 engine that we can finally use all over the place.
257 Compiler got support for lock as well as assorted bug fixes.
258 Ravi is still working on array support (and then we can
259 optimize foreach for the array case).
261 Dietmar is busy working on flow analysis on the JITer, the
262 previous mechanism of generating the forest was wrong. Paolo
263 has been a busy bee reworking the System.Reflection.Emit
264 support code, and we should have some pretty nice stuff next
265 week. Dick on the other hand is still working on the
266 WaitOne/WaitAll emulation code. WaitAll is like select on
267 steroids: it can wait for different kinds of objects: files,
268 mutexes, events and a couple of others.
270 Mike Kestner is busy working on Gtk# which is now using the
271 .defs files to quickly wrap the API.
277 Reworking expressions to support cleanly indexers and
278 properties. <a href="http://www.nat.org/evolution.php3">11
279 days</a> until Evolution 1.0 ships.
281 Ximian users around the world <!--a
282 href="http://www.bez.it/IMAGES/nora.jpg"-->rejoice<!--/a--> with
283 recent C# compiler progress.
289 Delegate support has been checked into the compiler
290 (definition and invocation); break/continue implemented.
296 JIT engine supports many of the object constructs now (object
297 creation, vtable setup, interface table setup).
299 The C# compiler now has almost full property support (only
300 missing bit are pre-post increment/decrement operations),
301 delegates are now created (still missing delegate invocation).
302 try/catch/finally is also supported in the compiler now.
304 System.Decimal implementation is in, as well as many crypto
311 Sergey has released his first version of the <b>ilasm</b>
312 assembler written in C#. You can get it from his web page:
314 href="http://mono.eurosoft.od.ua">http://mono.eurosoft.od.ua</a>.
316 The plan is to integrate ildasm into the Mono CVS soon. This
317 component should in theory also be reusable for SharpDevelop
324 Our System.Reflection.Emit implementation created its first
325 executable today. This means that a very simple .NET program
326 that was compiled on Windows was able to generate a .NET program
327 while running on Linux using the Mono runtime.
329 The various piece of the puzzle are starting to get together:
330 the compiler can compile simple programs now and we are
331 basically focusing on completeness now.
338 href="http://www.icsharpcode.net/OpenSource/SD/default.asp">Sharp
339 Develop 0.80</a> was released today.
345 More progress: more opcodes are working (Paolo); The compiler
346 runs up to a point in Mint (Paolo); operator overloading works
347 (both unary and binary) all over the place (Miguel); Completed decimal
348 type conversions (Miguel); New build system in place based on
349 Ant (Sean and Sergey); Refactored and documented the
350 internals of the JIT engine (Dietmar); StatementExpressions
351 handled correctly (Miguel).
357 A couple of news-worthy items: Dick got the initial thread
358 support into mint; Paolo implemented many new opcodes; Dietmar
359 got long operations and mul/div working on the JITer; Ravi rewrote
360 the Method selector for expressions to be conformant; Miguel
361 got i++ working. All in tonight's snapshot
367 Paolo has written a section on <a href="porting.html">Porting
368 Mono</a> to othre architectures.
374 <A a href="download.html#sep-18">Mono 0.7</a> has been
375 released (runtime engine, class libraries
376 and C# compiler). Check the <a href="archive/mono-0.7">Mono
377 0.7 announcement</a> for details
383 Mike Kestner's Gtk# (Gtk-sharp) was checked into the CVS
384 repository. Gtk# can run a simple hello world application.
385 The binding is nice, as it maps Gtk+ signals to delegates in
386 C#. You can see the Gtk# Hello World program <a href="src/HelloWorld.cs">here</a>
388 Gtk-sharp should be available on the next snapshot set.
394 Dietmar checked in his CIL tree/forest regeneration and most
395 importantly, the x86 instruction selector burg grammar.
402 The MCS compiler <b>can compile the sample Hello World</b>
403 application and generate a Windows/CIL executable that runs!
405 This executable runs with the Mono Interpreter of course (see
412 Dietmar checked into CVS the `monoburg' architecture
413 independent instruction selector for the JIT engine.
419 <b>.NET Hello World is working under Mono!</b> The latest snapshots
422 Hello World consits of 1821 CIL instructions,
423 performs 66 subroutine calls and loads 12 classes from the corlib.dll
431 Lloyd Dupont has announced his OpenGL bindings for C#, they
432 are available here: <a
433 href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
439 New version of the Mono Runtime, Compiler and Classes has been
441 href="download.html#august-22">released.</a> Check the <a
442 href="archive/mono-0.6">0.6 announcement</a>.
448 A new <a href="contributing.html#compile-service">Compilation
449 service</a> has been made available by Derek to allow people
450 without access to the <a
451 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>
457 Daily snapshots of mcs and mono are now available, they will
458 run every night at 10pm Boston time.
464 Mono Runtime 0.5 has been <a
465 href="download.html#july-29">released.</a> Check the <a
466 href="archive/mono-0.5">release notes</a>
472 The slides for <A href="Presentations/O-Reilly">my
473 presentation</a> at <a href="http://www.oreilly.com">O'Reilly
474 Open Source Software Convention</a>
480 Another release of the class libraries is out, check the <a
481 href="archive/mcs-22">MCS 22-July Release Notes</a>. You can
482 get the new class libraries from <a
483 href="download.html#july-22">here</a>
489 Another release of the class libraries is out, check the <a
490 href="archive/mcs-19">MCS 19-July Release Notes</a>. You can
491 get the new class libraries from <a
492 href="download.html#july-19">here</a>
498 Another release of the class libraries is out, check the <a
499 href="archive/mcs-17">MCS 17-July Release Notes</a>. You can
500 get the new class libraries from <a
501 href="download.html#july-17">here</a>
503 Do not forget to check out the updated <a href="faq.html">FAQ</a>.
505 Got Sean's new <a href="class-status/index.html">Class
506 Status</a> web pages up. These are a lot better than mine, and
507 we are now keeping better track of contributors.
513 Another release of Mono is out, check the <a
514 href="archive/mono-0.4">Mono 0.4 Release Notes</a>. Get it <a
515 href="download.html#july-15">here</a>.
522 href="http://lists.ximian.com/archives/public/mono-list/2001-July/000399.html">new
524 runtime, compiler and classes has been made. Get it <a href="download.html#july-14">here</a>
530 I keep getting questions about my opinion on Passport, even when
531 Mono has <b>nothing</b> to do with it. I finally <a
532 href="passport.html">wrote something.</a>
544 Brian posted a story on <a
545 href="http://www.oreillynet.com/dotnet">O'Reilly Network .NET</a>