Massive update
authorMiguel de Icaza <miguel@gnome.org>
Fri, 16 Nov 2001 06:51:40 +0000 (06:51 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Fri, 16 Nov 2001 06:51:40 +0000 (06:51 -0000)
svn path=/trunk/mono/; revision=1368

doc/c-sharp
doc/index
doc/resources
doc/runtime
doc/status
web/c-sharp
web/index
web/resources
web/runtime
web/status

index 8bdf91050d4a5dc86de503e7ad980fb38991e0cc..b65be0db90c0e82c96a7b6d7f13e68122b7af469 100644 (file)
@@ -1,8 +1,7 @@
 * MCS: The Ximian C# compiler
 
-       MCS began as an experiment to learn the features of C# by
-       writing a large C# program.  MCS is currently able to compile
-       small C# programs.  
+       MCS is currently able to compile small C# programs (there is
+       a test suite included that you can use).
 
        All type, field, method, delegates definitions are now emitted
        and the body of constructors and methods is being generated
                  have to postpone this decision until the above steps
                  are finished.
 
-               * Code generation: The compiler recently started generating IL 
-                 executables that contain interfaces.  Work is
-                 progressing in other areas.
+               * Code generation: The code generation is done through
+                 the System.Reflection.Emit API.
 
-                 The code generation is done through the System.Reflection.Emit API. 
        </ul>
 
 <a name="tasks">
@@ -82,8 +79,6 @@
                * Implement constant expression evaluator.
 
                * Implement constant declarations.
-
-               * Implement enumerations.
        </ul>
 
        Interesting and Fun hacks to the compiler:
                  features of C# that help reduce the number of bugs
                  in applications.  It is one interesting hack.
 
-               * Enum resolutions: it is another fun hack, as enums can be defined 
-                 in terms of themselves (<tt>enum X { a = b + 1, b = 5 }</tt>). 
-
        </ul>
 
 ** Questions and Answers
index 5020ee6810eaf82560590716d13dc18d14637272..bfd9da84ed91acab8ea98d95db8c9f2aa4f912c9 100644 (file)
--- a/doc/index
+++ b/doc/index
        You can contact the team at: <a
        href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
 
+** Nov 16, 2001
+
+       Mike Kestner has posted an <a
+       href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
+       on Gtk# development.
+
 ** Nov 14, 2001
 
        Paolo today got the Mono C# compiler running <a
index 3fcbb72bc65db301ed65b848f3a59c9bb9cce32b..c8ac62d8356f5ac8dbdd16717e0d8f7e3a9f5b53 100644 (file)
                * <a href="http://www.intel.com/research/mrl/orp">ORP:</a> A research
                  JIT/VM/GC system from Intel.
 
-               * C# bindings for OpenGL are available here: <a
+               * C# bindings for OpenGL and SDL are available here: <a
                  href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
 
                * <a
index 7217abfa83fe9d7263d3e9d1e9ab55723679c1b4..bf7c55501cdc56fdde694477b8548bec83603be3 100644 (file)
 
        The code will load an executable and map the references to
        external assemblies to our own version of the assemblies on
-       GNU/Linux.
+       Linux.
 
        Our roadmap looks like this, this has been updated as of
        <b>Jul 15, 2001</b>:
 
        <ul>
 
-               * Milestone 1: <b> Done</b> Fully read and parse all CIL byte-codes
+               * Milestone 1: <b>Done</b> Fully read and parse all CIL byte-codes
                  and metadata tokens (ie, a disassembler).  
 
-               * Milestone 2: Complete an interpreter for CIL byte
+               * Milestone 2: <b>Done</b> Complete an interpreter for CIL byte
                  codes.  This interpreter can be used temporarly to
                  run CIL byte code on a system where no JIT is
                  available.
 
-               * Milestone 3: Define an <i>lburg</i>-like instruction
-                 selector for the JITer for Intel.  Although slower
-                 at JITing than a streaming JITer, it generates
-                 better code.  The same grammar can later be used for
-                 the stream jitter. 
+               * Milestone 3: <b>Done</b>Define an <i>lburg</i>-like
+                 instruction selector for the JITer for Intel.
+                 Although slower at JITing than a streaming JITer, it
+                 generates better code.  The same grammar can later
+                 be used for the stream jitter.
 
-               * Milestone 4: Implement JITer.
+               * Milestone 4: Implement JITer.  This is where our
+                 current efforts are focused on, the JITer is 60% ready.
 
                * Milestone 5: Port of the JITer to non IA32 systems.
        </ul>
        will need to install the CygWin32 development tools to get a
        Unix-like compilation environment.
 
-** JIT Engine (<b>updated, Jul 14th, 2001</b>)
+** JIT Engine (<b>updated, Nov 16th, 2001</b>)
 
-       We will be using a code-generator generator approach for our
-        JITer.  Given the properties of CIL byte codes, we can take
-        full advantage of a real instruction selector for our code
-        generator. 
+       The JIT engine uses a code-generator generator approach for
+       compilation.  Given the properties of CIL byte codes, we can
+       take full advantage of a real instruction selector for our
+       code generator. 
 
        There are a couple of books that deal with this technique: "A
        Retargetable C Compiler" and "Advanced Compiler Design and
        Implementation" are good references.  You can also get a
         technical description of <a
-        href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">lbrug</a>
+        href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">lbrug</a>.
 
-       Previously we had looked at a number of JIT engines and tools,
-        but they would not take full advantage of the CIL properties: 
+       A few papers that describe the instruction selector:
 
        <ul>
-               * <a
-                 href="http://www.intel.com/research/mrl/orp/">ORP</a>
+               * <a href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/interface.pdf&pub=wiley">A code generation interface for ANSI C</a>
 
-               * <a
-                 href="http://www.gnu.org/software/lightning/">GNU
-                 Lightning</a>
 
-               * <a href="http://www.eecs.harvard.edu/~nr/toolkit/">NJ Machine
-                 Toolkit</a>.).
+               * <a href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">Engineering efficient code generators using tree matching and dynamic programming.</a>
 
-               * VCODE.
        </ul>
 
 ** Garbage Collection
                  <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI2.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI2.asp</a>
        </ul>
 
+** IO and threading
+
+       The ECMA runtime and the .NET runtime assume an IO model and a
+       threading model that is very similar to the Win32 API.  Dick
+       Porter has been working on the Mono abstraction layer that allows
+       our runtime to execute code that depend on this behaviour.
+
 ** Useful links
 
        Paolo Molaro found a few interesting links:
index d2e09c7e83767c6b967fbf6f46445016fb52be05..28bf3ba93bd2aac0d52a98838677f04321479006 100644 (file)
@@ -4,35 +4,35 @@
        Pieces of Mono that have been implemented:
 
        <ul>
-               * C# compiler: The C# parser can now generate parse
-               trees. Next up: semantic analysis, compiler lever optimizations
-               and code generation.
+               * C# compiler: The C# compiler is mostly complete, a 
+               few features are still missing (for a list, check the
+               <a href="c-sharp.html">C# compiler</a> web page.
 
-               * Metadata library: Can currently parse and load
-               information from .NET modules (executables and DLL
-               files).  
+               * A CIL bytecode interpreter (<b>mint</b>).  This
+               currently can be used to run most .NET programs
+               (modulo the fact that our class libraries are not
+               complete enough).
 
-               Parsing of Exception tables is missing. 
+               <b>mint</b> can currently run the Mono C# compiler and
+               the compiler generates valid code. 
+
+               We use <b>mint</b> as a reference implementation of
+               the runtime environment and to quickly support
+               non-Intel platforms.
+
+               * The Mono JIT engine.  The JIT engine is the real
+               virtual machine that we will be supporting.  It is
+               approaching maturity rapidly.
+
+               * Metadata library: Can currently parse
+               and load information from .NET modules (executables
+               and DLL files).
 
                * Disassembler: Can disassemble .NET modules. Still
                lacking exception handling as well as useful debugging
                tools (hex dumping, token dumping).
 
                * Class Libraries: You can check the current status in the
-                 <a href="class-status.html">Class Status page</a>
+                 <a href="class-status.html">Class Status page</a>.
        </ul>
 
-       Tasks on the critical path:
-
-       <ul>
-               * Bytecode interpreter: (Paolo is working on this).
-
-               * Simple JIT: Not implemented yet (Miguel is
-                 researching the code-generator generator)
-
-               * Garbage collection engine (Dick is working on this, his contact is <a
-                 href="mailto:dick@ximian.com">dick@ximian.com</a>
-       </ul>
-       
-       If you want to work on any task here, please mail <a
-       href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
index 8bdf91050d4a5dc86de503e7ad980fb38991e0cc..b65be0db90c0e82c96a7b6d7f13e68122b7af469 100644 (file)
@@ -1,8 +1,7 @@
 * MCS: The Ximian C# compiler
 
-       MCS began as an experiment to learn the features of C# by
-       writing a large C# program.  MCS is currently able to compile
-       small C# programs.  
+       MCS is currently able to compile small C# programs (there is
+       a test suite included that you can use).
 
        All type, field, method, delegates definitions are now emitted
        and the body of constructors and methods is being generated
                  have to postpone this decision until the above steps
                  are finished.
 
-               * Code generation: The compiler recently started generating IL 
-                 executables that contain interfaces.  Work is
-                 progressing in other areas.
+               * Code generation: The code generation is done through
+                 the System.Reflection.Emit API.
 
-                 The code generation is done through the System.Reflection.Emit API. 
        </ul>
 
 <a name="tasks">
@@ -82,8 +79,6 @@
                * Implement constant expression evaluator.
 
                * Implement constant declarations.
-
-               * Implement enumerations.
        </ul>
 
        Interesting and Fun hacks to the compiler:
                  features of C# that help reduce the number of bugs
                  in applications.  It is one interesting hack.
 
-               * Enum resolutions: it is another fun hack, as enums can be defined 
-                 in terms of themselves (<tt>enum X { a = b + 1, b = 5 }</tt>). 
-
        </ul>
 
 ** Questions and Answers
index 5020ee6810eaf82560590716d13dc18d14637272..bfd9da84ed91acab8ea98d95db8c9f2aa4f912c9 100644 (file)
--- a/web/index
+++ b/web/index
        You can contact the team at: <a
        href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>
 
+** Nov 16, 2001
+
+       Mike Kestner has posted an <a
+       href="http://lists.ximian.com/archives/public/gtk-sharp-list/2001-November/000015.html">update</a>
+       on Gtk# development.
+
 ** Nov 14, 2001
 
        Paolo today got the Mono C# compiler running <a
index 3fcbb72bc65db301ed65b848f3a59c9bb9cce32b..c8ac62d8356f5ac8dbdd16717e0d8f7e3a9f5b53 100644 (file)
                * <a href="http://www.intel.com/research/mrl/orp">ORP:</a> A research
                  JIT/VM/GC system from Intel.
 
-               * C# bindings for OpenGL are available here: <a
+               * C# bindings for OpenGL and SDL are available here: <a
                  href="http://csgl.sourceforge.net">http://csgl.sourceforge.net</a>
 
                * <a
index 7217abfa83fe9d7263d3e9d1e9ab55723679c1b4..bf7c55501cdc56fdde694477b8548bec83603be3 100644 (file)
 
        The code will load an executable and map the references to
        external assemblies to our own version of the assemblies on
-       GNU/Linux.
+       Linux.
 
        Our roadmap looks like this, this has been updated as of
        <b>Jul 15, 2001</b>:
 
        <ul>
 
-               * Milestone 1: <b> Done</b> Fully read and parse all CIL byte-codes
+               * Milestone 1: <b>Done</b> Fully read and parse all CIL byte-codes
                  and metadata tokens (ie, a disassembler).  
 
-               * Milestone 2: Complete an interpreter for CIL byte
+               * Milestone 2: <b>Done</b> Complete an interpreter for CIL byte
                  codes.  This interpreter can be used temporarly to
                  run CIL byte code on a system where no JIT is
                  available.
 
-               * Milestone 3: Define an <i>lburg</i>-like instruction
-                 selector for the JITer for Intel.  Although slower
-                 at JITing than a streaming JITer, it generates
-                 better code.  The same grammar can later be used for
-                 the stream jitter. 
+               * Milestone 3: <b>Done</b>Define an <i>lburg</i>-like
+                 instruction selector for the JITer for Intel.
+                 Although slower at JITing than a streaming JITer, it
+                 generates better code.  The same grammar can later
+                 be used for the stream jitter.
 
-               * Milestone 4: Implement JITer.
+               * Milestone 4: Implement JITer.  This is where our
+                 current efforts are focused on, the JITer is 60% ready.
 
                * Milestone 5: Port of the JITer to non IA32 systems.
        </ul>
        will need to install the CygWin32 development tools to get a
        Unix-like compilation environment.
 
-** JIT Engine (<b>updated, Jul 14th, 2001</b>)
+** JIT Engine (<b>updated, Nov 16th, 2001</b>)
 
-       We will be using a code-generator generator approach for our
-        JITer.  Given the properties of CIL byte codes, we can take
-        full advantage of a real instruction selector for our code
-        generator. 
+       The JIT engine uses a code-generator generator approach for
+       compilation.  Given the properties of CIL byte codes, we can
+       take full advantage of a real instruction selector for our
+       code generator. 
 
        There are a couple of books that deal with this technique: "A
        Retargetable C Compiler" and "Advanced Compiler Design and
        Implementation" are good references.  You can also get a
         technical description of <a
-        href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">lbrug</a>
+        href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">lbrug</a>.
 
-       Previously we had looked at a number of JIT engines and tools,
-        but they would not take full advantage of the CIL properties: 
+       A few papers that describe the instruction selector:
 
        <ul>
-               * <a
-                 href="http://www.intel.com/research/mrl/orp/">ORP</a>
+               * <a href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/interface.pdf&pub=wiley">A code generation interface for ANSI C</a>
 
-               * <a
-                 href="http://www.gnu.org/software/lightning/">GNU
-                 Lightning</a>
 
-               * <a href="http://www.eecs.harvard.edu/~nr/toolkit/">NJ Machine
-                 Toolkit</a>.).
+               * <a href="http://research.microsoft.com/copyright/accept.asp?path=http://www.research.microsoft.com/~drh/pubs/iburg.pdf&pub=ACM">Engineering efficient code generators using tree matching and dynamic programming.</a>
 
-               * VCODE.
        </ul>
 
 ** Garbage Collection
                  <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI2.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmag00/html/GCI2.asp</a>
        </ul>
 
+** IO and threading
+
+       The ECMA runtime and the .NET runtime assume an IO model and a
+       threading model that is very similar to the Win32 API.  Dick
+       Porter has been working on the Mono abstraction layer that allows
+       our runtime to execute code that depend on this behaviour.
+
 ** Useful links
 
        Paolo Molaro found a few interesting links:
index d2e09c7e83767c6b967fbf6f46445016fb52be05..28bf3ba93bd2aac0d52a98838677f04321479006 100644 (file)
@@ -4,35 +4,35 @@
        Pieces of Mono that have been implemented:
 
        <ul>
-               * C# compiler: The C# parser can now generate parse
-               trees. Next up: semantic analysis, compiler lever optimizations
-               and code generation.
+               * C# compiler: The C# compiler is mostly complete, a 
+               few features are still missing (for a list, check the
+               <a href="c-sharp.html">C# compiler</a> web page.
 
-               * Metadata library: Can currently parse and load
-               information from .NET modules (executables and DLL
-               files).  
+               * A CIL bytecode interpreter (<b>mint</b>).  This
+               currently can be used to run most .NET programs
+               (modulo the fact that our class libraries are not
+               complete enough).
 
-               Parsing of Exception tables is missing. 
+               <b>mint</b> can currently run the Mono C# compiler and
+               the compiler generates valid code. 
+
+               We use <b>mint</b> as a reference implementation of
+               the runtime environment and to quickly support
+               non-Intel platforms.
+
+               * The Mono JIT engine.  The JIT engine is the real
+               virtual machine that we will be supporting.  It is
+               approaching maturity rapidly.
+
+               * Metadata library: Can currently parse
+               and load information from .NET modules (executables
+               and DLL files).
 
                * Disassembler: Can disassemble .NET modules. Still
                lacking exception handling as well as useful debugging
                tools (hex dumping, token dumping).
 
                * Class Libraries: You can check the current status in the
-                 <a href="class-status.html">Class Status page</a>
+                 <a href="class-status.html">Class Status page</a>.
        </ul>
 
-       Tasks on the critical path:
-
-       <ul>
-               * Bytecode interpreter: (Paolo is working on this).
-
-               * Simple JIT: Not implemented yet (Miguel is
-                 researching the code-generator generator)
-
-               * Garbage collection engine (Dick is working on this, his contact is <a
-                 href="mailto:dick@ximian.com">dick@ximian.com</a>
-       </ul>
-       
-       If you want to work on any task here, please mail <a
-       href="mailto:mono-list@ximian.com">mono-list@ximian.com</a>