[m-dev.] diff: improve Aditi documentation

Simon TAYLOR stayl at cs.mu.OZ.AU
Thu Jun 1 18:48:13 AEST 2000


Estimated hours taken: 1

Minor improvements to the Aditi documentation.

doc/reference_manual.texi:
doc/user_guide.texi:
	Fix the formatting of the Aditi entries in the menus -- texinfo
	doesn't like @ifset commands in menus.

	Remove references to extras/aditi. The transaction interface
	is distributed as part of Aditi.

	State that Aditi memoing doesn't work yet.


Index: reference_manual.texi
===================================================================
RCS file: /home/mercury1/repository/mercury/doc/reference_manual.texi,v
retrieving revision 1.182
diff -u -u -r1.182 reference_manual.texi
--- reference_manual.texi	2000/05/05 06:08:01	1.182
+++ reference_manual.texi	2000/06/01 08:45:44
@@ -5816,11 +5816,9 @@
                                 calculated results and detecting or avoiding
                                 certain kinds of infinite loops.
 * Termination analysis::        Support for automatic proofs of termination.
- at ifset aditi
 * Aditi deductive database interface::
                                 Support for bottom-up evaluation of Mercury
                                 predicates.
- at end ifset
 @end menu
 
 @node Fact tables
@@ -6113,8 +6111,8 @@
 top-down Mercury code called from within the database cannot call bottom-up
 code, which is currently impossible for Aditi to handle.
 
-Some useful predicates are defined in @file{extras/aditi/aditi.m} in the
- at samp{mercury-extras} distribution.
+Some useful predicates are defined in @file{$ADITI_HOME/doc/aditi.m}
+in the Aditi distribution.
 
 The Aditi interface currently has the major restriction that recursive or
 imported top-down Mercury predicates or functions cannot be called from
@@ -6235,7 +6233,8 @@
 a transaction to avoid unnecessary recomputations. This is unrelated to
 the type of memoing described in @ref{Tabled evaluation}.
 @samp{aditi_no_memo} is the default.
- at c XXX this will probably change
+Memoing is not yet implemented, so any @samp{pragma aditi_memo}
+declarations will be ignored.
 
 @example
 :- pragma owner(@var{Name}/@var{Arity}, @var{UserName}).
@@ -6749,8 +6748,8 @@
 @item aggregate
 Aggregates are used to compute a value such as a sum over all the solutions
 for a predicate. Aggregates can be computed over Aditi predicates using
- at samp{aditi__aggregate_compute_initial} defined in @file{extras/aditi/aditi.m}
-in the @samp{mercury-extras} distribution.
+ at samp{aditi__aggregate_compute_initial} defined in
+ at file{$ADITI_HOME/doc/aditi.m} in the Aditi distribution.
 
 @item base relation
 A base relation is a predicate consisting of a set of facts
@@ -6783,8 +6782,8 @@
 part of a transaction fails, the database reverts to its original state
 before the transaction. For details on how transactions are implemented
 in Mercury, see @cite{Database transactions in a purely declarative logic
-programming language} @ref{[7]} and @file{extras/aditi/aditi.m} in the
- at samp{mercury-extras} distribution.
+programming language} @ref{[7]} and @file{$ADITI_HOME/doc/aditi.m} in the
+Aditi distribution.
 
 @end table
 
Index: user_guide.texi
===================================================================
RCS file: /home/mercury1/repository/mercury/doc/user_guide.texi,v
retrieving revision 1.207
diff -u -u -r1.207 user_guide.texi
--- user_guide.texi	2000/05/24 05:18:14	1.207
+++ user_guide.texi	2000/06/01 07:39:38
@@ -78,19 +78,14 @@
 * Running::         Execution of programs built with the Mercury compiler.
 * Using Mmake::     ``Mercury Make'', a tool for building Mercury programs.
 * Libraries::       Creating and using libraries of Mercury modules.
+* Using Aditi::     Executing Mercury predicates using the Aditi
+                    deductive database.
 * Debugging::       The Mercury debugger @samp{mdb}.
 * Profiling::       The Mercury profiler @samp{mprof}, a tool for analyzing
                     program performance.
 * Invocation::      List of options for the Mercury compiler.
 * Environment::     Environment variables used by the compiler and utilities.
 * C compilers::     How to use a C compiler other than GNU C.
- at ifset aditi 
-* Using Aditi::     Executing Mercury predicates using the Aditi
-                    deductive database.
- at end ifset 
- at c XXX I'd like to put the Aditi section below the Using libraries section
- at c in the menu but texinfo doesn't seem to like `@ifset's in menus.
- at c (complains about the next entry not having an `Up' node)
 @end menu
 @end ifinfo
 
@@ -2361,21 +2356,20 @@
 Mercury Language Reference Manual
 @item
 the Aditi web site at <http://www.cs.mu.oz.au/aditi>
+ at item
+the documentation supplied with Aditi, especially the file
+ at file{$ADITI_HOME/doc/aditi.m}
 @item
-the file @file{extras/aditi/aditi.m} in the @samp{mercury-extras} distribution
+the samples provided with the Aditi distribution in @file{$ADITI_HOME/demos}
 @end itemize
 
 As an alternative to compiling stand-alone programs, you can execute
 queries using the Aditi query shell.
- at c XXX reference.
+
+The Aditi interface library is installed as part of the Aditi
+installation process. To use the Aditi library in your programs, use
+the Mmakefile in @file{$ADITI_HOME/demos/transactions} as a template.
 
-To compile code which accesses an Aditi database, you will need to install
-the Aditi library in the @samp{extras/aditi} subdirectory of the
- at samp{mercury-extras} distribution. Once you have done that, use the
-Mmakefile in @samp{extras/aditi/samples} as a template, changing the values
-of the variables @samp{MADITI_DIR}, @samp{ADITI_API_INCL_DIR} and
- at samp{ADITI_API_LIB_DIR}. You should then be able to compile as
-normal using Mmake (@pxref{Using Mmake}).
 @end ifset
 
 @node Profiling
--------------------------------------------------------------------------
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