[m-dev.] proposal: drop automatic initialisation of solver types

Ralph Becket rafe at csse.unimelb.edu.au
Tue Oct 30 10:29:22 AEDT 2007


Julien Fischer, Monday, 29 October 2007:
> The machinery in the compiler for supporting automatic initialisation
> predicates will *not* be removed, it will instead be made dependent
> upon a developer-only command line option.
> 
> If we need to support automatic initialisation in the future, we
> can support two versions of solver types: one that has automatic
> initialisation and another that doesn't.

The current strategy for automatic initialisation is somewhat ad hoc.
For example, if A and B are uninitialised and p/2 has modes (ia, oa) is
something and (oa, ia) is something else, then we can compile

	p(A, B)

as either

	init(A),
	p(A, B)

or

	init(B),
	p(A, B)

But these have different determinisms, a point which makes life very
tricky under the current mode analyser.  If we were to include automatic
initialisation in future we should do much more thinking about this
issue.

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



More information about the developers mailing list