<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Given that Args and PStrings are lists of different things, I just sought to compare their length:</div><div class=""><br class=""></div><font size="2" face="MonoidNerdFontComplete-Regular" class="">args_to_pstrings(Args, [], _, PStrings, !T),<br class="">( if length(Args) = length(PStrings) then …</font><div class=""><font size="2" face="MonoidNerdFontComplete-Regular" class=""><br class=""></font></div><div class=""><font size="2" face="MonoidNerdFontComplete-Regular" class="">translate.m:174: In clause for predicate `translate_call'/4:<br class="">translate.m:174:   error: ambiguous overloading causes type ambiguity.<br class="">translate.m:174:   Possible type assignments include:<br class="">translate.m:174:   V_27: `int' or `(pred int)'<br class="">translate.m:174:   You will need to add an explicit type qualification to<br class="">translate.m:174:   resolve the type ambiguity. The way to add an explicit type<br class="">translate.m:174:   qualification is to use "with_type". For details see the<br class="">translate.m:174:   "Explicit type qualification" sub-section of the<br class="">translate.m:174:   "Data-terms" section of the "Syntax" chapter of the Mercury<br class="">translate.m:174:   language reference manual.<br class="">** Error making `Mercury/opts/translate.opt’.</font></div><div class=""><br class=""></div><div class="">changing to the predicate form removes the error,</div><div class=""><br class=""></div><div class=""><font face="MonoidNerdFontComplete-Regular" size="2" class="">list.length(Args, L1),<br class="">list.length(PStrings, L2),</font></div><div class=""><font face="MonoidNerdFontComplete-Regular" size="2" class="">( if L1 = L2 then …</font></div><div class=""><br class=""></div><div class="">Compiles fine. I know that from the error message it seems that I have somehow produced a curried call ?! I am also using the `int` module as well. Just seeking some explanation!</div><div class=""><br class=""></div><div class="">Thanks</div><div class="">Sean</div><div class=""><br class=""></div><div class=""><br class=""><br class=""></div></body></html>