[m-dev.] for review: developer introduction for webpage

Tyson Dowd trd at cs.mu.OZ.AU
Wed Jan 17 11:48:49 AEDT 2001


Here are the changes made in response to comments.  I'm going to commit
this now, any further changes can be made after the commit.

--- developer_intro.html	Wed Jan 17 11:47:11 2001
+++ /tmp/developer_intro.html	Wed Jan 17 11:46:20 2001
@@ -59,6 +59,9 @@
 path -- in this example it would be /tmp/mercury/install/bin.  And be
 sure that this is earlier in your path than any other Mercury
 installation (for example, one in /usr/bin or /usr/local/bin).
+<p>
+See the files INSTALL and INSTALL_CVS for more information on
+installation of Mercury.
 
 <h2>Installing fewer grades</h2>
 
@@ -84,20 +87,17 @@
 mmake install LIBGRADES=
 </pre>
 <p>	
-
-<h2>Quick installation of subsystems</h2>
-
-It's also worth noticing that each subsystem (the runtime, the compiler,
-the library, etc) can be installed by itself.  If you make a change to the
-compiler, you can install it with
-<pre>
-cd compiler ; mmake install
-</pre>
-Be aware that this will only install one grade -- if you want to install
-just the library in all the grades in LIBGRADES, try:
+There are some good default settings for libgrades you can set at
+configuration time, for example
 <pre>
-cd compiler ; mmake install
+./configure --disable-most-grades
+./configure --enable-libgrades=...
 </pre>
+Run configure with the --help option to see more options.
+
+<p>
+Again, the INSTALL file in the Mercury distribution has more detailed
+documentation on installing grades.
 
 <h2>Using the local build directory</h2>
 
@@ -124,7 +124,7 @@
 <h2>Bootchecking</h2>
 
 If you've made changes to the compiler or library that you think are
-working fine, you may want to make sure you haven't messed up some other
+working fine, you should make sure you haven't messed up some other
 part of the compiler.
 <p>
 The bootcheck script in the tools directory of the Mercury compiler
@@ -140,16 +140,17 @@
 compiler.  This ensures that you can still build the compiler using your
 modifications.
 <p>
-Stage 3 uses the stage 2 Mercury compiler to build another Mercury
-compiler.  This ensures that the stage 2 Mercury compiler not only
-builds, but actually works.  Stage 3 actually just compares the output
-of stage 1 and stage 2 compilers -- if they generate exactly the same code,
-everything is good.  If they generate different code, something bad must
-have happened, chances are the code generated by the stage 1 compiler is
-wrong, and so compiler we used to generate stage 2 is probably executing
-incorrectly (and so it's output is different to the output of the
-compiler before hand).  If this happens, the compiler doesn't
-"bootstrap" -- it cannot reliably compile itself.
+Bootcheck then uses the stage 2 Mercury compiler to build the C files of
+another Mercury compiler, the stage 3 compiler, and compares them with
+the C files of the stage 2 compiler, which were built by the stage
+1 compiler.  If they differ, then the stage 2 compiler does not
+execute the same algorithm as the stage 1 compiler. Since the stage 1
+and 2 compilers were built from the same source, the difference must
+have been introduced by differences in the compilers used to compile
+that source. Since stage 1 was compiled with a trusted compiler,
+the compiler used to generate the stage 2 executable (i.e. the stage
+1 compiler) must be buggy. If this happens, the compiler doesn't
+"bootstrap" -- it cannot reliably compile itself.               
 <p>
 Finally, if you have checked out the "tests" module from CVS, the
 bootcheck will use the stage 2 compiler, library and runtime to run all
@@ -170,10 +171,10 @@
 <p>
 <hr>
 <p>
+Comments? Mail <a href = "mailto:mercury at cs.mu.oz.au">mercury at cs.mu.oz.au</a>,
 or see our <a href = "../email.html" >contact</a> page.<br>
 
 Last update was $Date: 2000/08/22 09:41:55 $ by $Author: petdr $@cs.mu.oz.au
 </body>
 </html>
-
 

-- 
       Tyson Dowd           # 
                            #  Surreal humour isn't everyone's cup of fur.
     trd at cs.mu.oz.au        # 
http://www.cs.mu.oz.au/~trd #
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list