[m-users.] Higher-order predicate issue

Zoltan Somogyi zoltan.somogyi at runbox.com
Sun Oct 3 08:25:02 AEDT 2021


2021-10-03 07:11 GMT+11:00 "Sean Charles (emacstheviking)" <objitsu at gmail.com>:
> :- func get_target_renderer(string::in) = (renderer::out).

This is mirror image of the bug Peter pointed out yesterday:
the result of this function should have mode "out(renderer)"
instead of just "out". Declaring the result to have mode "out"
also throws away the mode information about the higher order
result, so it is not surprising that you get mode errors when
that higher order mode information is needed but not present,
i.e. what you call Renderer.

Zoltan.


More information about the users mailing list