[m-rev.] for review: improve documentation of --fully-strict

Ian MacLarty maclarty at csse.unimelb.edu.au
Mon Sep 24 15:31:03 AEST 2007


On Mon, Sep 24, 2007 at 03:02:06PM +1000, Julien Fischer wrote:
>
> On Fri, 21 Sep 2007, Ian MacLarty wrote:
>
>> Estimated hours taken: 0.1
>> Branches: main
>>
>> compiler/options.m:
>> doc/user_guide.texi:
>> 	Document that --no-fully-strict also replaces det goals that produce
>> 	no outputs with `true' and goals that always fail with `fail'.
>
> simplify.m only does such replacements when when the goal is not impure
> however.
>

Okay, I'll mention that the goal should not be impure.

>> 	Also change the documented option to --no-fully-strict instead
>> 	of --fully-strict, because --fully-strict is the default.
>> 	XXX Should it be the default?
>
> I think yes; it's the least surprising choice.
>

The reference manual says the following:

The University of Melbourne Mercury implementation offers eight
different semantics, which can be selected with different
combinations of the @samp{--no-reorder-conj}, @samp{--no-reorder-disj},
and @samp{--fully-strict} options.  (The @samp{--fully-strict} option
prevents the compiler from improving completeness by optimizing away
infinite
loops or calls to @code{require.error/1} or @code{exception.throw/1}.)
The default semantics are the commutative semantics.  Enabling all of
these
options gives you the strict sequential semantics.  Enabling just some
of them gives you a semantics somewhere in between.

This seems to suggest that the default is supposed to be
--no-fully-strict.

Shall I change the reference manual too then?

Ian.
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list