2008-05-10 Geoff Norton <gnorton@novell.com>
[mono.git] / web / faq
diff --git a/web/faq b/web/faq
index d94bfde52fc31cb39170470e8d2795aeb5d06847..9a45337118c2e089c7e98e171087c1c6bb50946f 100644 (file)
--- a/web/faq
+++ b/web/faq
@@ -723,11 +723,11 @@ A: Most of Mono is being written using C#, with only
 
      <li> A multi-platform runtime engine: both a JIT engine and an
           interpreter exist.  The JIT engine runs currently on x86,
-          PowerPC and Sparc systems, while the interpreter works on
+          PowerPC Sparc and S390 systems, while the interpreter works on
           x86, SPARC, StrongARM, s390 and PowerPC systems.  
 
-         The JIT engine is being ported to PowerPC, s390, SPARC and
-          amd64 systems as of this time.
+         The JIT engine is being ported to amd64 systems as of this
+         time. 
 
      <li> Supports Linux, BSD, MacOS, Windows and Solaris at this point.
 
@@ -767,7 +767,9 @@ A: Most of Mono is being written using C#, with only
           Portable.NET's compiler.
 
      <li> Mono's C# compiler has strong error handling and has closer
-          adherence to the specification.
+          adherence to the specification with support for definite
+         assignment (required to generate verifiable IL code) and 
+         CLS conformance checking.
 
      <li> Mono's C# compiler is written in C# which is easier for new
           developers to come in and improve, fix and tune.  The Mono
@@ -782,15 +784,14 @@ A: Most of Mono is being written using C#, with only
           are important for advanced applications, compilers and
           dynamic code generation.
 
-     <li> Mono has a <a href="xml-classes">complete managed XML
+     <li> Mono has a <a href="xml-classes.html">complete managed XML
           stack</a>: XML, XPath, XML Serializer, XML Schema handling
           are fully functional, feature complete and tuned for
           performance.
 
-     <li> Mono has a complete cryptography stack: we have a complete
-          crypto stack: we implement the 1.0 and 1.1 APIs as well as
-          using our fully managed stack to implement the SSL/TLS
-          transports. 
+     <li> Mono has a <a href="crypto.html">complete cryptography stack
+         </a>: we implement the 1.0 and 1.1 APIs as well as using our
+         fully managed stack to implement the SSL/TLS transports. 
 
      <li> <a href="ado-net.html">Extensive database support</a>: Mono
           ships with database provides for <a
@@ -800,7 +801,7 @@ A: Most of Mono is being written using C#, with only
           href="tdsclient.html">SQL Server</a>, <a
           href="sqlite.html">SQL Lite</a>, <a
           href="mysql.html">MySQL</a>, <a
-          href="postgresql">PostgresSQL</A>, <a href="oledb.html">Ole
+          href="postgresql.html">PostgresSQL</A>, <a href="oledb.html">Ole
           DB</a> and <a href="odbc.html">ODBC</a>.
 
      <li> Mono includes full LDAP support.
@@ -1346,28 +1347,37 @@ A: This has been done.
 <a name="gcc"></a>
 ** Mono and GCC
 
-Q: Are you working on a GCC front-end to C#? A GCC back-end that will
-   generate CIL images? 
+Q: Are you working on a GCC front-end to C#? 
 
-A: We would love to see a GCC modification that would generate CIL
-   images, but there is nothing at this point.
+A: We are not working on a GCC front-end for C#
 
-   The open64 compiler effort from SGI already has modified GCC to
-   generate a new intermediate language instead of RTL.  This could be
+Q: Will you support C/C++ on the Mono VM?
+
+A:The open64 compiler effort from SGI helps a lot in this direction.
+
+   The Open64 compiler is a modified version of GCC that
+   generates a new intermediate language instead of RTL.  This could be
    the foundation to generate CIL code, and to implement the upcoming
    Managed extensions to C++ from ECMA.
 
+   Open64 (and other derivative forks of GCC) split the gcc front-ends
+   from the backends by using the WHIRL intermediate representation.  
+   Kris has begun the implementation of a translator from WHIRL to CIL.
+
+   So it will be possible to use the GCC compilers to target the CIL.
+
+Q: What about Managed C++?
+
+A: Once a full translator for WHIRL exists, we are interested in
+   looking at expanding the GCC frontends to include extensions for
+   Managed C++.
+
 Q: What about making a front-end to GCC that takes CIL images and
    generates native code?
 
 A: There is no active work on this area, but Mono already provides
    pre-compilation services (Ahead-of-Time compilation).
 
-Q: But would this work around the GPL in the GCC compiler and allow
-   people to work on non-free front-ends?
-
-A: People can already do this by targeting the JVM byte codes (there
-   are about 130 compilers for various languages that target the JVM).
 
 <a name="performance"></a>
 ** Performance
@@ -1469,7 +1479,7 @@ A: First some background information.
    Microsoft falls under the ECMA/ISO submission.  Jim Miller at
    Microsoft has made a statement on the patents covering ISO/ECMA,
    (he is one of the inventors listed in the patent): <a
-   href="https://mailserver.di.unipi.it/pipermail/dotnet-sscli/msg00218.html">here</a>.
+   href="http://web.archive.org/web/20030609164123/http://mailserver.di.unipi.it/pipermail/dotnet-sscli/msg00218.html">here</a>.
 
    Basically a grant is given to anyone who want to implement those
    components for free and for any purpose.