[m-users.] STATE_VARIABLE_IO_0 has instantiatedness ddgame.m:042: mostly_unique

Julian Fondren jfondren at minimaltype.com
Fri Aug 16 23:53:53 AEST 2019


On 2019-08-16 08:38, emacstheviking wrote:
> ...but I can't see what I have done wrong!!!!
...
> execute(GfxState, !IO) :-
>     (
>         basic_window("blah", 0, 0, 400, 200, GfxState, {GfxState1,
> yes}, !IO)
>     ->

There's your problem. The !IO there represents IO1 = IO2.
Does this unification actually happen? If basic_window fails,
it doesn't happen. So you've passed IO1 to basic_window for
its own use, and then have to use IO1 again because you didn't
get a new IO2 because the unification never happened.

Reusing IO1 means it's no longer unique.


More information about the users mailing list