[m-rev.] for review: Remove mentions of 'dead' and 'mostly_dead' from reference manual.
Peter Wang
novalazy at gmail.com
Sat Aug 5 11:42:05 AEST 2017
doc/reference_manual.texi:
Use 'clobbered' and 'mostly_clobbered' everywhere instead of the
synonyms 'dead' and 'mostly_dead'.
---
doc/reference_manual.texi | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/doc/reference_manual.texi b/doc/reference_manual.texi
index e837e9e..d7d78ca 100644
--- a/doc/reference_manual.texi
+++ b/doc/reference_manual.texi
@@ -3281,7 +3281,7 @@ and @code{bound(@dots{})}), Mercury also provides ``unique'' insts
@code{unique} and @code{unique(@dots{})} which are like @code{ground}
and @code{bound(@dots{})} respectively, except that they carry the
additional constraint that there can only be one reference to the
-corresponding value. There is also an inst @code{dead} which means
+corresponding value. There is also an inst @code{clobbered} which means
that there are no references to the corresponding value, so the compiler
is free to generate code that reuses that value.
There are three standard modes for manipulating unique values:
@@ -3294,7 +3294,7 @@ There are three standard modes for manipulating unique values:
:- mode ui == unique >> unique.
% destructive input
-:- mode di == unique >> dead.
+:- mode di == unique >> clobbered.
@end example
Mode @code{uo} is used to create a unique value.
@@ -3332,11 +3332,11 @@ To allow for backtrackable destructive updates --- that is, updates
whose effect is undone on backtracking, perhaps by recording the
overwritten values on a ``trail'' so that they can be restored
after backtracking --- Mercury also provides ``mostly unique''
-modes. The insts @code{mostly_unique} and @code{mostly_dead}
-are equivalent to @code{unique} and @code{dead},
+modes. The insts @code{mostly_unique} and @code{mostly_clobbered}
+are equivalent to @code{unique} and @code{clobbered},
except that only references which will be encountered during
forward execution are counted --- it is OK for @code{mostly_unique} or
- at code{mostly_dead} values to be needed again on backtracking.
+ at code{mostly_clobbered} values to be needed again on backtracking.
Mercury defines some standard modes for manipulating ``mostly unique''
values, just as it does for unique values:
@@ -3349,7 +3349,7 @@ values, just as it does for unique values:
:- mode mui == mostly_unique >> mostly_unique.
% mostly destructive input
-:- mode mdi == mostly_unique >> mostly_dead.
+:- mode mdi == mostly_unique >> mostly_clobbered.
@end example
@node Limitations of the current implementation
@@ -3363,7 +3363,7 @@ to get a unique field of a unique data structure.
It is also not possible to use unique-input modes;
only destructive-input and unique-output modes work.
-The Mercury compiler does not (yet) reuse @code{dead}
+The Mercury compiler does not (yet) reuse @code{clobbered}
values. The only destructive update in the current implementation occurs
in library modules, e.g.@: for I/O and arrays. We do however plan to
implement structure reuse and compile-time garbage collection
@@ -5188,9 +5188,8 @@ have any type class constraints.
The inst @var{varinst} is not allowed to contain any inst variables.
It is also not allowed to be equivalent to, or contain components that
are equivalent to, the builtin insts @code{free},
- at code{unique}, @code{mostly_unique},
- at code{dead} (@code{clobbered})
-or @code{mostly_dead} (@code{mostly_clobbered}).
+ at code{unique}, @code{mostly_unique}, @code{clobbered}
+or @code{mostly_clobbered}.
The initial value of a mutable, @var{initial_value}, may be any Mercury
expression with type @var{vartype} and inst @var{varinst} subject to
--
2.9.0
More information about the reviews
mailing list