[m-rev.] for review: high level C paper on w3
Zoltan Somogyi
zs at cs.mu.OZ.AU
Fri Oct 26 14:33:36 AEST 2001
Add the high level C paper to the web site.
w3/information/include/papers.inc:
Give the details of the high level C paper Fergus and I just submitted
for publication.
w3/information/papers/hlc1.ps.gz:
New file: the paper itself.
w3/information/papers/hlc1.ps.gz:
New file: the tar file containing the raw data on which the performance
evaluation section of paper is based.
w3/news/newsdb.inc:
Mention the new paper.
Zoltan.
cvs diff: Diffing .
cvs diff: Diffing bin
cvs diff: Diffing contact
cvs diff: Diffing contact/include
cvs diff: Diffing download
cvs diff: Diffing download/include
cvs diff: Diffing download/patches
cvs diff: Diffing htdig
cvs diff: Diffing htdig/include
cvs diff: Diffing images
cvs diff: Diffing include
cvs diff: Diffing information
cvs diff: Diffing information/bench
cvs diff: Diffing information/deep_demo
cvs diff: Diffing information/developers
cvs diff: Diffing information/doc
cvs diff: Diffing information/dotnet
cvs diff: Diffing information/events
cvs diff: Diffing information/events/images
cvs diff: Diffing information/include
Index: information/include/papers.inc
===================================================================
RCS file: /home/mercury1/repository/w3/information/include/papers.inc,v
retrieving revision 1.24
diff -u -b -r1.24 papers.inc
--- information/include/papers.inc 2001/08/03 04:14:16 1.24
+++ information/include/papers.inc 2001/10/26 04:27:49
@@ -14,6 +14,43 @@
<h2>Papers on Mercury</h2>
<ul>
+
+<li>
+<strong>
+Compiling Mercury to high-level C code
+</strong>
+<br>
+Fergus Henderson and Zoltan Somogyi
+<br>
+Department of Computer Science, University of Melbourne,
+Melbourne, Australia, October 2001, 17 pages.
+<a href = "papers/hlc1.ps.gz">
+Available here (75K).
+</a>
+<p>
+Many logic programming implementations compile to C,
+but they compile to very low-level C, and thus discard many
+of the advantages of compiling to a high-level language.
+We describe an alternative approach to compiling logic
+programs to C, based on continuation passing, that we have used
+in a new back-end for the Mercury compiler.
+The new approach compiles to much higher-level C code,
+which means the compiler back-end and run-time system
+can be considerably simpler.
+<p>
+We present a formal schema for the transformation,
+and give benchmark results which show that this approach delivers
+performance about equal to the fastest previous implementation,
+with greater simplicity and better portability and interoperability.
+<p>
+The approach we describe can also be used for compiling
+to other target languages, such as IL
+(the Microsoft .NET intermediate language).
+<p>
+The raw data that the performance evaluation section is based on
+is available as a <a href = "papers/hlc1_perf_data.tar.gz">31 Mb tar file</a>.
+<p>
+
<li>
<strong>
Deep profiling:
@@ -180,7 +217,7 @@
and can make a large class of programs tail recursive.
<p>
The raw data on which the evaluation is based
-is available as a <a href = "papers/tail_data.tar.gz">5 Kb tar file</a>
+is available as a <a href = "papers/tail_data.tar.gz">5 Kb tar file</a>.
<p>
<li>
cvs diff: Diffing information/papers
Index: information/papers/hlc1.ps.gz
===================================================================
RCS file: hlc1.ps.gz
diff -N hlc1.ps.gz
Binary files /dev/null and hlc1.ps.gz differ
Index: information/papers/hlc1_perf_data.tar.gz
===================================================================
RCS file: hlc1_perf_data.tar.gz
diff -N hlc1_perf_data.tar.gz
Binary files /dev/null and hlc1_perf_data.tar.gz differ
cvs diff: Diffing information/reports
cvs diff: Diffing mailing-lists
cvs diff: Diffing mailing-lists/include
cvs diff: Diffing mailing-lists/mercury-ads
cvs diff: Diffing mailing-lists/mercury-ads/include
cvs diff: Diffing mailing-lists/mercury-developers
cvs diff: Diffing mailing-lists/mercury-developers/include
cvs diff: Diffing mailing-lists/mercury-reviews
cvs diff: Diffing mailing-lists/mercury-reviews/include
cvs diff: Diffing mailing-lists/mercury-users
cvs diff: Diffing mailing-lists/mercury-users/include
cvs diff: Diffing news
Index: news/newsdb.inc
===================================================================
RCS file: /home/mercury1/repository/w3/news/newsdb.inc,v
retrieving revision 1.60
diff -u -b -r1.60 newsdb.inc
--- news/newsdb.inc 2001/08/13 05:49:34 1.60
+++ news/newsdb.inc 2001/10/26 04:18:32
@@ -22,6 +22,13 @@
$newsdb = array(
+"26 October 2001" => array("New paper",
+
+"We have a new paper available
+from our <A HREF=\"information/papers.html\">papers page</A>,
+which outlines the design of the back end that generates high level C".
+),
+
"13 August 2001" => array("Smart recompilation",
"The Mercury compiler can now perform smart recompilation. With smart
--------------------------------------------------------------------------
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