[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