[m-rev.] For post-commit review: Correct problems in the automatic parallelism analysis.

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Oct 7 14:40:41 AEDT 2010


On Thu, 7 Oct 2010, Paul Bone wrote:

> Anyone may review the changes to the standard library and news file.
>
> Thanks.
>
> ---

> library/lazy.m:
>    Moved lazy.m from extras to the standard library.

Did you delete the copy in extras?

> library/list.m:
>    Add a new predicate member_index0/3.  Like member/2 except it also gives
>    the zero-based index of the current element within the list.
>
> library/maybe.m:
>    Add two new insts.
>        maybe_yes(I) for the maybe type's yes/1 constructor.
>        maybe_error_ok(I) for the maybe_error type's ok/1 constructor.
>
> library/Mercury.options:
>    Add a work around for compiling lazy.m with intermodule optimisations.

The problem and workaround below have nothing to do with intermodule optimisation.

> NEWS:
>    Update news file for the addition of lazy.m and the member_index0 predicate
>    in list.m
>
> deep_profiler/.cvsignore:
>    Ignore feedback.automatic_parallelism.m which is copied by Mmakefile from
>    the mdbcomp/ directory.
>
> Index: NEWS
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/NEWS,v
> retrieving revision 1.535
> diff -u -p -b -r1.535 NEWS
> --- NEWS	6 Oct 2010 04:01:31 -0000	1.535
> +++ NEWS	7 Oct 2010 02:18:48 -0000
> @@ -16,6 +16,13 @@ Changes to the Mercury standard library:
>   to the predicates of the same name in the list module, but do the relevant
>   operations on keys instead of entire list elements.
>
> +* We have added a new module, lazy,to the standard library.  It facilitates

s/lazy,to/lazy, to/

> +  the construction of lazy data structures.

Also we haven't added it.  It's been shifted from the extras distribution.
I suggest changing this entry to something like:

     We have shifted the lazy evaluation module out of the extras
     distribution and into a new standard library module called `lazy'.

...

> %-----------------------------------------------------------------------------%
> Index: library/Mercury.options
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/library/Mercury.options,v
> retrieving revision 1.33
> diff -u -p -b -r1.33 Mercury.options
> --- library/Mercury.options	12 Jun 2009 05:00:26 -0000	1.33
> +++ library/Mercury.options	6 Oct 2010 23:43:20 -0000
> @@ -89,3 +89,8 @@ MCFLAGS-thread.semaphore += --no-local-t
>
> # Work around a problem in the HiPE compiler (as of Erlang R11B5).
> MCFLAGS-bitmap += --no-erlang-native-code
> +
> +# Work around a warning for termination analysis of the user defined equality
> +# and comparison code for lazy values.
> +MCFLAGS-lazy += --no-halt-at-warn

--no-warn-non-term-special-preds would be a more appropriate option to
use rather than disabling all warnings.

Julien.
--------------------------------------------------------------------------
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