[m-users.] IO argument clobbering

Zoltan Somogyi zoltan.somogyi at runbox.com
Tue Jul 18 00:37:20 AEST 2023


On 2023-07-17 16:27 +02:00 CEST, "Sean Charles (emacstheviking)" <objitsu at gmail.com> wrote:
> :- type callback == (pred(world, world, io, io)).
> :- inst callback == (pred(in, out, di, uo) is det).
> 
> :- pred run_loop(
>     callback::in, world::in, world::out, io::di, io::uo
> ) is det.

Without compileable example code I cannot be sure, but I think
the problem is the "callback::in" in the declaration of run_loop.
What happens when you replace it with "callback:in(callback)"?
The mode checker needs this to tell it the mode of the higher order arg.

Zoltan.


More information about the users mailing list