[m-dev.] for review: create new web pages for 0.10 release

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Feb 21 21:51:00 AEDT 2001


On 21-Feb-2001, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> There are several other changes we should mention.

OK, but those changes should be made to the NEWS file too.

> - The declarative debugger has been improved in several respects:
>   - It has a greatly improved user interface.
>   - It can now handle the debugging of very large computations.

The official status of the declarative debugger is still "work in progress". 
It remains undocumented, except for a brief mention in the
WORK_IN_PROGRESS file.  It has never been officially released.
It doesn't make sense to talk about improvements to something
that was never officially released in the first place.

It should not be officially released (i.e. announced in the NEWS file
rather than the WORK_IN_PROGRESS file) until it is documented, IMHO.

> - The compiler now recognizes assertions for associativity and for
>   order-independent update, and uses them to introduce accumulators.

The comment about using them to introduce accumulators a little
misleading, since the current compiler does not do that unless you
explicitly use the `--introduce-accumulators' option -- it is not
enabled at any `-O' level.

That is because of the following code in options.m:

        % Disabled until a bug in extras/trailed_update/var.m is resolved.
	%introduce_accumulators -       bool(yes),

I think that bug may have been resolved by now, so maybe that could be
re-enabled, but currently it isn't.  

Also, assertions are currently not documented.
(There is some documentation for them in reference_manual.texi,
but it is commented out -- I'm not sure exactly why.  One
reason is that the syntax documented is `:- assertion', but
the syntax that the compiler accepts is `:- promise'.)
I don't think we should announce them in the NEWS until they
are documented in the language reference manual.

So we could document the `--introduce-accumulators' option, but
we shouldn't mention assertions, and we shouldn't imply that
`--introduce-accumulators' is enabled by default.

> - The compiler is now faster.

The compiler is not much faster.
Here's times for `mmake depend; mmake diff.cs; mmake realclean'
in the samples/diff directory with 0.9.1 and 0.10:

0.10: 	15.010u 1.920s 0:20.08 84.3% 0+0k 0+0io 41366pf+0w
0.10: 	14.820u 1.880s 0:20.03 83.3% 0+0k 0+0io 41365pf+0w
0.10: 	14.850u 2.040s 0:20.42 82.7% 0+0k 0+0io 41365pf+0w
0.9.1:	16.220u 1.630s 0:22.80 78.2% 0+0k 0+0io 34385pf+0w
0.9.1:	16.020u 1.520s 0:20.68 84.8% 0+0k 0+0io 33263pf+0w
0.9.1:	15.900u 1.490s 0:20.56 84.5% 0+0k 0+0io 33263pf+0w

The difference is pretty minor.  I'm not sure if it is worth mentioning.
If it is mentioned, I'd suggest rephrasing that as "The compiler is
now a little bit faster."

> - The runtime system and compiler generated code are now name space clean.

That's not true.  There are still a significant number of name space
cleanliness violations:

	- the stuff defined in mercury_bootstrap.h,
	  which is still enabled by default

	- the stuff mentioned in runtime/RESERVED_MACRO_NAMES,
	  e.g. `bool', `reg', `min', `max', `TRUE', `FALSE', `PIC',
	  `PC_ACCESS', `HAVE_*', etc.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
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