[m-users.] ui modes

Julien Fischer jfischer at opturion.com
Tue Aug 6 18:24:50 AEST 2013


On Mon, 5 Aug 2013, Michael Day wrote:

> Another mostly_unique issue pops up in this kind of semidet code:
>    member(X, Xs),
>    T = get_mutvar(X, IO),
>    check_something(T)
> Because check_something is semidet and member is nondet the IO ends up being 
> mostly_unique instead of unique, even though it is only ever passed to 
> get_mutvar with ui mode. This basically rules out using nondet generate/test 
> style of programming.

ui modes in nondet contexts is a rather unexplored area (i.e. it doesn't
greatly surprise me that there are bugs in it.).  (This sort of thing
wouldn't have cropped up in the G12 platform either, because there, the
threaded state in nondet context is nearly always mostly-unique rather
than unique.)

> Perhaps this issue is similar to the problem with not() and implication?

Possibly, I haven't had time to look into it yet.


More information about the users mailing list