[m-dev.] for review: announce purity and update papers.
Tyson Dowd
trd at cs.mu.OZ.AU
Thu Apr 6 15:22:05 AEST 2000
===================================================================
Estimated hours taken: 0.75
Add two new papers to the web page.
information/include/papers.inc:
information/papers/purity.ps.gz:
information/papers/update.ps.gz:
The papers and their abstract.
(Note that the postscript files have been generated with title
notes stating they are not final versions and to refer to the
web page for a more up-to-date version).
news/newsdb.inc:
Announce these pages on the main site.
Index: information/include/papers.inc
===================================================================
RCS file: /home/mercury1/repository/w3/information/include/papers.inc,v
retrieving revision 1.17
diff -u -r1.17 papers.inc
--- information/include/papers.inc 2000/02/22 02:46:23 1.17
+++ information/include/papers.inc 2000/04/06 05:14:32
@@ -14,6 +14,61 @@
<h2>Papers on Mercury</h2>
<ul>
+
+<li>
+<strong>
+State update transformation
+</strong>
+<br>
+Peter Ross and Zoltan Somogyi
+<br>
+<em>
+</em>
+<a href="papers/update.ps.gz">Available here (57K)</a>.
+<p>
+Recursive predicates frequently generate some state
+which is updated after the recursive call.
+We present a source to source transformation
+which can move the state update before to the recursive call,
+thus helping to make the predicate tail recursive,
+and report on its implementation in the Mercury compiler.
+<p>
+
+
+
+<li>
+<strong>
+Using impurity to create declarative interfaces in Mercury
+</strong>
+<br>
+Tyson Dowd, Peter Schachte, Fergus Henderson and Zoltan Somogyi
+<br>
+<em>
+</em>
+<a href="papers/purity.ps.gz">Available here (52K)</a>.
+<p>
+The logic/functional language Mercury
+allows the programmer to annotate predicates and
+functions to mark impure predicates, allowing
+impure code to be safely integrated into a
+declarative language.
+
+By using purity declarations with the foreign language
+interface, programmers can take advantage of many of the
+features of a high level programming language while
+writing imperative code to interface with existing
+imperative libraries.
+
+This paper outlines the purity system in Mercury and
+how it affects operational semantics,
+compares this purity system with other approaches to declaring
+impurity in a pure language,
+and gives an extended example of how impurity and foreign language
+interfaces can work together to simplify the chore of writing
+declarative interfaces to libraries.
+<p>
+
+
<li>
<strong>
Towards memory reuse for Mercury
Index: information/papers/purity.ps.gz
===================================================================
RCS file: purity.ps.gz
diff -N purity.ps.gz
Binary files /dev/null and purity.ps.gz differ
Index: information/papers/update.ps.gz
===================================================================
RCS file: update.ps.gz
diff -N update.ps.gz
Binary files /dev/null and update.ps.gz differ
Index: news/newsdb.inc
===================================================================
RCS file: /home/mercury1/repository/w3/news/newsdb.inc,v
retrieving revision 1.44
diff -u -r1.44 newsdb.inc
--- news/newsdb.inc 2000/02/22 01:39:45 1.44
+++ news/newsdb.inc 2000/04/05 06:52:58
@@ -21,6 +21,16 @@
$newsdb = array(
+"5 Apr 2000" => array("More new papers",
+
+"Another two papers on Mercury are now available from our
+<A HREF=\"information/papers.html\">papers page</A>.
+One describes using purity declarations for building foreign language
+interfaces, while the other details the update transformation, an
+optimization that can help re-order state updates into better positions
+for other optimizations."
+),
+
"21 Feb 2000" => array("New papers",
"Two new papers on Mercury are now available from our
--
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