[m-rev.] for review: add my thesis to the website

David Overton dmo at cs.mu.OZ.AU
Wed Jan 21 14:10:59 AEDT 2004


Hi,

Would someone like to review this?  You can see a preview of the changes
at http://ceres.cs.mu.oz.au/dmo/w3/index.html.

BTW, for those who don't know, my last day at Monash is this Friday.
I'm moving to London for 18 months and leave Australia on Thursday 29th
January.


w3/information/include/papers.inc:
w3/information/papers/dmo-thesis.ps.gz:
w3/news/newsdb.inc:
	Add my thesis to the Mercury web site.


Index: information/include/papers.inc
===================================================================
RCS file: /home/mercury1/repository/w3/information/include/papers.inc,v
retrieving revision 1.42
diff -u -r1.42 papers.inc
--- information/include/papers.inc	16 Sep 2003 03:18:05 -0000	1.42
+++ information/include/papers.inc	21 Jan 2004 03:06:08 -0000
@@ -22,6 +22,20 @@
 
 <li>
 <strong>
+<a href = "papers.html#dmo-thesis">
+Precise and Expressive Mode Systems for Typed Logic Programming Languages
+</a>
+</strong>
+<br>
+David Overton.
+<em>
+Ph.D. thesis,
+</em>
+Melbourne, 2003.
+<p>
+
+<li>
+<strong>
 <a href = "papers.html#aadebug03-paper">
 Idempotent I/O for safe time travel
 </a>
@@ -623,6 +637,104 @@
 <h2><a name="mercury">Papers on Mercury</a></h2>
 
 <ul>
+
+<li>
+<strong>
+<a name="dmo-thesis">
+Precise and Expressive Mode Systems for Typed Logic Programming Languages
+</a>
+</strong>
+<br>
+David Overton.
+<br>
+<em>
+Ph.D. thesis,
+</em>
+Department of Computer Science and Software Engineering,
+The University of Melbourne,
+December 2003.
+<a href = "papers/dmo-thesis.ps.gz">
+Available here (602K).
+</a>
+<p>
+In this thesis we look at mode analysis of logic programs.
+Being based on the mathematical formalism of predicate logic,
+logic programs have no <em>a priori</em> notion of data flow—a 
+single logic program may run in multiple <em>modes</em>
+where each mode describes, or prescribes, a pattern of data flow.
+</p>
+
+<p>
+A <em>mode system</em> provides an abstract domain
+for describing the flow of data in logic programs,
+and an algorithm for analysing programs to <em>infer</em> the
+modes of a program or to <em>check</em> the correctness of
+<em>mode declarations</em> given by the programmer.
+Such an analysis can provide much useful information to the compiler for
+optimising the program.
+In a prescriptive mode system, mode analysis is also an important part of the
+semantic analysis phase of compilation (much like type analysis)
+and can inform the programmer of many errors or potential errors in the
+program at compile time.
+We therefore believe it is an essential component of any industrial strength
+logic programming system.
+</p>
+
+<p>
+Our aim is to develop a strong and prescriptive mode system that is both
+as precise and expressive as possible.
+We believe this requires a strongly typed and purely declarative
+language and so we focus on the language Mercury.
+</p>
+
+
+<p>
+The first contribution of our work is to give a detailed description
+of Mercury's existing mode system, which is based on abstract interpretation.
+Although most of this system has been around for several years,
+this is the first time it has been described in this level of detail.
+This is also the first time the relationship of the mode system to
+the formalism of abstract interpretation has been made clear.
+</p>
+
+<p>
+Following that, we look at ways of extending the mode system to provide further
+precision and expressiveness, and to overcome some of the limitations of the
+current system.
+</p>
+
+<p>
+The first of these extensions is to support a form of constrained parametric
+polymorphism for modes.
+This is analogous to constrained parametric polymorphic type systems such as
+type classes, and adds a somewhat similar degree of expressiveness to the mode
+system.
+</p>
+
+<p>
+Next we look at a method for increasing the precision of the mode analysis by
+keeping track of aliases between variables.
+The increased precision we gain from this allows an increase in expressiveness
+by allowing the use of partially instantiated data structures and more
+complex uniqueness annotations on modes.
+</p>
+
+<p>
+The final area we look at is an alternative approach to mode analysis using
+Boolean constraints.
+This allows us to design a mode system that can capture complex
+mode constraints between variables and
+more clearly separates the various tasks required for mode analysis.
+We believe that this constraint-based system provides a good platform for
+further extension of the Mercury mode system.
+</p>
+
+<p>
+The work we describe has all been
+implemented in the Melbourne Mercury compiler,
+although only constrained parametric polymorphism has so far become part of an
+official compiler release.
+</p>
 
 <li>
 <strong>
Index: information/papers/dmo-thesis.ps.gz
===================================================================
RCS file: information/papers/dmo-thesis.ps.gz
diff -N information/papers/dmo-thesis.ps.gz
Binary files /dev/null and dmo-thesis.ps.gz differ
Index: news/newsdb.inc
===================================================================
RCS file: /home/mercury1/repository/w3/news/newsdb.inc,v
retrieving revision 1.76
diff -u -r1.76 newsdb.inc
--- news/newsdb.inc	4 Dec 2003 03:29:30 -0000	1.76
+++ news/newsdb.inc	21 Jan 2004 03:04:12 -0000
@@ -21,6 +21,16 @@
 */
 
 $newsdb = array(
+"21 January 2004" => array("New PhD thesis",
+
+"A new PhD thesis on the Mercury mode system,
+<em>Precise and Expressive Mode Systems for
+Typed Logic Programming Languages</em>
+by David Overton,
+is now available from our
+<A HREF=\"information/papers.html\">papers page</A>."
+),
+
 "25 Sep 2003" => array("Accurate garbage collection",
 
 "The high-level C back-end now supports accurate garbage collection,
-- 
David Overton                  Uni of Melbourne     +61 3 8344 1354
dmo at cs.mu.oz.au                Monash Uni (Clayton) +61 3 9905 9373
http://www.cs.mu.oz.au/~dmo    Mobile Phone         +61 4 0337 4393
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list