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

emacstheviking objitsu at gmail.com
Sat Aug 17 00:27:20 AEST 2019


Julian, thanks.

I have refactored / restructured my code and it's all good now...I kind of
get the explanation but I kept the bad code so I can go back and study
harder later.

I'm not really understanding your comment about ,

> The !IO there represents IO1 = IO2.



Thanks again.




On Fri, 16 Aug 2019 at 14:53, Julian Fondren <jfondren at minimaltype.com>
wrote:

> 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurylang.org/archives/users/attachments/20190816/ee905073/attachment.html>


More information about the users mailing list