[m-dev.] Reconsidering initialisation of solver types

Peter Stuckey pjs at csse.unimelb.edu.au
Thu Jul 27 15:15:19 AEST 2006

On 27/07/2006, at 1:55 PM, Ralph Becket wrote:

> I propose that we remove automatic initialisation of solver variables
> from the solver types design.
> Problems induced by automatic initialisation include:
> - significant complication in the Mercury compiler;
> - unpredictable code generation (i.e., there may be several different
>   ways local solver variables in a clause could be automatically
>   initialised, each leading to different scheduled code) which  
> makes it
>   harder to understand error messages;
> - solver code often appears near impure code and error messages in  
> these
>   circumstances are often misleading (i.e., a symptom is reported  
> rather
>   than the cause);
> - manual initialisation does not seem to be an issue for most solver
>   programs (i.e., most of them explicitly initialise solver variables
>   anyway), although this will make Programs using Herbrand variables
>   ever so slightly less concise (but who uses Herbrand variables? :-)

It makes Mercury unusable as a constraint programming language!
It will add a burden to Cadmium to initialize all variables explicitly!

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