<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="">Julien, I changed the duff line to<div class=""><br class=""></div><div class=""><font face="Courier" class="">bifmap(“require”, require).</font></div><div class=""><br class=""></div><div class="">I changed the determinism to semidet and it has all compiled just fine, have I escaped something by the luck of the ignorant? What were you thinking the compiler would say?  :D</div><div class=""><br class=""></div><div class="">Ahh…. I see what you might have meant… nondet. I changed it to semidet before I compiled it. You were right after all! LOL</div><div class=""><br class=""></div><div class=""><div class="">words.m:099: In `bifmap'(in, out):</div><div class="">words.m:099:   warning: determinism declaration could be tighter.</div><div class="">words.m:099:   Declared `nondet', inferred `semidet'.</div></div><div class=""><br class=""></div><div class="">Sean</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 20 May 2021, at 12:52, Julien Fischer <<a href="mailto:jfischer@opturion.com" class="">jfischer@opturion.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><br class="">On Thu, 20 May 2021, Sean Charles (emacstheviking) wrote:<br class=""><br class="">...<br class=""><br class=""><blockquote type="cite" class="">In the words.err file it has listed every single line of my predicate. In this case the disjunction (I think) is the entire set of bifmap/2 declarations. I have attached the complete contents of my source file this time, sorry for<br class="">the size of it. I am pretty sure I don’t have any duplicates either, this has been a long cut and paste and totally reorganise from my Prolog code so I suspected some kind of cut and paste error could have crept in but if so I have<br class="">failed to spot it.<br class="">I am also assuming that `nondet` is correct for its determinism, I<br class="">know it CAN fail i.e. a string that is not a keyword and for the<br class="">examples given above it could succeed more than once.<br class=""></blockquote><br class="">When you fix the mode error, you find that the compiler will have<br class="">something to say about that last bit ...<br class=""><br class="">Julien.</div></div></blockquote></div><br class=""></div></body></html>