I moved some code from one module into another, exported the operators as documented,
:- module(utils, [ load_source/2, pos_linecol/3, get_dict/4, % operator exports op(600, xfx, =<<), op(600, fx, <<), op(700, yfx, ##), op(700, yfx, ###), (=<<)/4, (<<)/3, (##)/4, (###)/4 ]).
but then 36 unit tests failed…they all are failing because now that the operators are defined in the “utils” module, when the operator does the call/1 it is saying that the callable is not found in the module… does this mean I have to explicitly provide the module name as well? I would have thought it knew where to call back to but maybe not?!
Here is the debugger error:
basically Callable is in module “ast” and the operator is in module “utils”.
one_term_value/3 is define in module “ast”.
I read By-module operators but I think my problem is different.