[m-rev.] diff: PADL papers

Zoltan Somogyi zs at cs.mu.OZ.AU
Sun Dec 11 01:16:10 AEDT 2005


news/newsdb.inc:
information/include/papers.inc:
information/papers/padl*:
	Add the papers to be presented at PADL.

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/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/mercury/mercury1/repository/w3/information/include/papers.inc,v
retrieving revision 1.52
diff -u -b -r1.52 papers.inc
--- information/include/papers.inc	5 Oct 2005 01:49:53 -0000	1.52
+++ information/include/papers.inc	10 Dec 2005 13:38:54 -0000
@@ -22,6 +22,53 @@
 
 <li>
 <strong>
+<a href = "papers.html#padl06solver">
+Adding constraint solving to Mercury
+</a>
+</strong>
+<br>
+Ralph Becket, Maria Garcia de la Banda, Kim Marriott, Zoltan Somogyi,
+Peter J. Stuckey and Mark Wallace,
+<em>
+Proceedings of the Eighth International Symposium
+on Practical Aspects of Declarative languages,
+</em>
+Charleston, South Carolina, January 2006.
+<p>
+
+<li>
+<strong>
+<a href = "papers.html#padl06dd">
+Controlling search space materialization
+in a practical declarative debugger
+</a>
+</strong>
+<br>
+Ian MacLarty and Zoltan Somogyi,
+<em>
+Proceedings of the Eighth International Symposium
+on Practical Aspects of Declarative languages,
+</em>
+Charleston, South Carolina, January 2006.
+<p>
+
+<li>
+<strong>
+<a href = "papers.html#padl06tabling">
+Tabling in Mercury: design and implementation
+</a>
+</strong>
+<br>
+Zoltan Somogyi and Konstantinos Sagonas,
+<em>
+Proceedings of the Eighth International Symposium
+on Practical Aspects of Declarative languages,
+</em>
+Charleston, South Carolina, January 2006.
+<p>
+
+<li>
+<strong>
 <a href = "papers.html#maclarty-masters">
 Practical Declarative Debugging of Mercury Programs 
 </a>
@@ -751,6 +798,144 @@
 
 <li>
 <strong>
+<a name = "papers.html#padl06solver">
+Adding constraint solving to Mercury
+</a>
+</strong>
+<br>
+Ralph Becket, Maria Garcia de la Banda, Kim Marriott, Zoltan Somogyi,
+Peter J. Stuckey and Mark Wallace,
+<em>
+Proceedings of the Eighth International Symposium
+on Practical Aspects of Declarative languages,
+</em>
+Charleston, South Carolina, January 2006,
+Springer Verlag, ©.
+Available in
+<a href = "papers/padl06solver.pdf">
+pdf (166k)
+</a>
+or
+<a href = "papers/padl06solver.ps.gz">
+ps.gz (139k)
+</a>
+formats.
+<p>
+The logic programming language Mercury
+is designed to support programming in the large.
+Programmer declarations in conjunction with
+powerful compile-time analysis and optimization
+allow Mercury programs to be very efficient.
+The original design of Mercury
+did not support constraint logic programming (CLP).
+This paper describes the extensions we added to Mercury to support CLP.
+Unlike similarly motivated extensions to Prolog systems,
+our objectives included
+preserving the purity of Mercury programs as much as possible,
+as well as avoiding any impact
+on the efficiency of non-CLP predicates and functions.
+</p>
+
+<li>
+<strong>
+<a name = "papers.html#padl06dd">
+Controlling search space materialization
+in a practical declarative debugger
+</a>
+</strong>
+<br>
+Ian MacLarty and Zoltan Somogyi,
+<em>
+Proceedings of the Eighth International Symposium
+on Practical Aspects of Declarative languages,
+</em>
+Charleston, South Carolina, January 2006,
+Springer Verlag, ©.
+Available in
+<a href = "papers/padl06dd.pdf">
+pdf (201k)
+</a>
+or
+<a href = "papers/padl06dd.ps.gz">
+ps.gz (176k)
+</a>
+formats.
+<p>
+While the idea of declarative debugging
+has been around for a quarter of a century,
+the technology still hasn't been adopted by working programmers,
+even by those working in declarative languages.
+The reason is that making declarative debuggers practical
+requires solutions to a whole host of problems.
+In this paper we address one of these problems, which is that
+retaining a complete record of every step of the execution of a program
+is infeasible unless the program's runtime is very short,
+yet this record forms the space searched by the declarative debugger.
+Most parts of this search space
+therefore have to be stored in an implicit form.
+Each time the search algorithm visits
+a previously unexplored region of the search space,
+it must decide how big a part of the search space to rematerialize
+(which it does by reexecuting a call in the program).
+If it materializes too much, the machine may start to thrash
+or even run out of memory and swap space.
+If it materializes too little, then materializing
+all the parts of the search space required by a debugging session
+will require too many reexecutions of (parts of) the program,
+which will take too long.
+We present a simple algorithm, the <em>ideal depth strategy</em>,
+for steering the ideal middle course:
+minimizing reexecutions while limiting memory consumption to what is feasible.
+We show that this algorithm performs well
+even when used on quite long running programs.
+</p>
+
+<li>
+<strong>
+<a name = "papers.html#padl06tabling">
+Tabling in Mercury: design and implementation
+</a>
+</strong>
+<br>
+Zoltan Somogyi and Konstantinos Sagonas,
+<em>
+Proceedings of the Eighth International Symposium
+on Practical Aspects of Declarative languages,
+</em>
+Charleston, South Carolina, January 2006,
+Springer Verlag, ©.
+Available in
+<a href = "papers/padl06tabling.ps.gz">
+ps.gz (93k)
+</a>
+format.
+<p>
+For any LP system, tabling can be quite handy in a variety of tasks,
+especially if it is efficiently implemented
+and fully integrated in the language.
+Implementing tabling in Mercury
+poses special challenges for several reasons.
+First, Mercury is both semantically and culturally quite different from Prolog.
+While decreeing that tabled predicates must not include cuts
+is acceptable in a Prolog system,
+it is not acceptable in Mercury,
+since if-then-elses and existential quantification
+have sound semantics for stratified programs
+and are used very frequently
+both by programmers and by the compiler.
+The Mercury implementation thus has no option
+but to handle interactions of tabling
+with Mercury's language features safely.
+Second, the Mercury implementation is vastly different from the WAM,
+and many of the differences
+(e.g. the absence of a trail)
+have significant impact on the implementation of tabling.
+In this paper, we describe how we adapted the copying approach to tabling
+to implement tabling in Mercury.
+</p>
+
+<li>
+<strong>
 <a name="maclarty-masters">
 Practical Declarative Debugging of Mercury Programs
 </a>
cvs diff: Diffing information/papers
Index: information/papers/padl_dd.pdf
===================================================================
RCS file: information/papers/padl_dd.pdf
diff -N information/papers/padl_dd.pdf
Binary files /dev/null and padl_dd.pdf differ
Index: information/papers/padl_dd.ps.gz
===================================================================
RCS file: information/papers/padl_dd.ps.gz
diff -N information/papers/padl_dd.ps.gz
Binary files /dev/null and padl_dd.ps.gz differ
Index: information/papers/padl_solver.pdf
===================================================================
RCS file: information/papers/padl_solver.pdf
diff -N information/papers/padl_solver.pdf
Binary files /dev/null and padl_solver.pdf differ
Index: information/papers/padl_solver.ps.gz
===================================================================
RCS file: information/papers/padl_solver.ps.gz
diff -N information/papers/padl_solver.ps.gz
Binary files /dev/null and padl_solver.ps.gz differ
Index: information/papers/padl_tabling.ps.gz
===================================================================
RCS file: information/papers/padl_tabling.ps.gz
diff -N information/papers/padl_tabling.ps.gz
Binary files /dev/null and padl_tabling.ps.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/mercury/mercury1/repository/w3/news/newsdb.inc,v
retrieving revision 1.89
diff -u -b -r1.89 newsdb.inc
--- news/newsdb.inc	23 Nov 2005 03:50:26 -0000	1.89
+++ news/newsdb.inc	10 Dec 2005 12:35:37 -0000
@@ -22,6 +22,18 @@
 
 $newsdb = array(
 
+"11 December 2005" => array("Three new papers",
+
+"Three new papers titled
+\"Controlling search space materialization
+in a practical declarative debugger\",
+\"Adding constraint solving to Mercury\"
+and
+\"Tabling in Mercury: design and implementation\"
+are now available from our
+<A HREF=\"information/papers.html\">papers page</A>."
+),
+
 "21 November 2005" => array("Mercury 0.12.1 released",
 
 "Release information is available
cvs diff: Diffing tutorial
cvs diff: Diffing tutorial/book
cvs diff: Diffing tutorial/src
--------------------------------------------------------------------------
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