X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Fc-sharp;h=ffa0b574bef43950ccb928ef65edad10ff7409fe;hb=40ed976145ebfaa91cf02b737250fc7882ce2b0a;hp=fa4dad1d732fc629c355460e4055f62dd3ff55f6;hpb=34b2b26e3e313db46127f064f5da1de0c9147423;p=mono.git diff --git a/web/c-sharp b/web/c-sharp index fa4dad1d732..ffa0b574bef 100644 --- a/web/c-sharp +++ b/web/c-sharp @@ -1,22 +1,18 @@ * MCS: The Ximian C# compiler - MCS is currently able to compile itself and many more C# - programs (there is a test suite included that you can use). + The Mono C# compiler is considered feature C# 1.0 complete at + this point and mature. MCS is able to compile itself and many + more C# programs (there is a test suite included that you can + use). It is routinely used to compile Mono, roughly 1.7 + million lines of C# code. - We are in feature completion mode right now. There are still - a couple of areas that are not covered by the Mono compiler, but - they are very very few at this point. + The compiler is also fairly fast. On a IBM ThinkPad t40 it + compiles 18,000 lines of C# code per second. - MCS was able to parse itself on April 2001, MCS compiled itself - for the first time on December 28 2001. MCS became self hosting - on January 3rd, 2002. - - The Mono Runtime and the Mono execution engine were able to make - our compiler self hosting on March 12, 2002. - - A test suite is maintained to track the progress of - the compiler and various programs are routinely compiled and - ran. + Work on C# 2.0 has started: some pieces of it are available on + the standard compiler with the -2 switch (iterators, method + conversions) and some others are available on the `gmcs' + branch on CVS (generics) ** Obtaining MCS @@ -27,8 +23,8 @@ ** Running MCS MCS is written in C# and uses heavily the .NET APIs. MCS runs - on Linux (with the Mono runtime) and Windows (with the .NET - framework runtime) + on Linux with the Mono runtime and on Windows with both the + .NET runtime and the Mono runtime. ** Reporting Bugs in MCS @@ -103,36 +99,53 @@ able to use this generic CIL optimizer in their projects reducing their time to develop a production compiler. - -** Current pending tasks +* Open bugs - Simple tasks: + See the bugs page for more information. - + A test suite is maintained to track the progress of + the compiler and various programs are routinely compiled and + ran. - Larger tasks: - + MCS was able to parse itself on April 2001, MCS compiled itself + for the first time on December 28 2001. MCS became self hosting + on January 3rd, 2002. + + The Mono Runtime and the Mono execution engine were able to make + our compiler self hosting on March 12, 2002. ** Questions and Answers +Q: Does the Mono C# compiler support C# 2.0? + +A: At this point the Mono C# compiler supports some of the features of + C# 2.0, but the support has not been completed. To enable 2.0 features + you must use the -2 flag to the compiler. + +Q: What features are available as of Feb 2004? + +A: Iterators have been implemented as well as method group implicit + conversion to delegates on the main compiler branch. + + We have a branch of the compiler in the module `mcs/gmcs' which is + where we are developing the Generics support for the compiler. Plenty + of tests work (see mcs/tests/gen-*.cs for a list of tests), but work + remains to be done. + +Q: Will the C# 2.0 features be part of the Mono 1.0 release? + +A: Only a few, the generic compiler will not be part of the 1.0 + stable release, but a beta preview will be distributed. + Q: Why not write a C# front-end for GCC? A: I wanted to learn about C#, and this was an exercise in this