What would be really useful would be something like this:
?- my_caller(an_arg) false. % Now Sherlock Holmes has to do the work ?- trace_children(my_caller,+fail). true. ?- my_caller(an_arg). T Fail: my_callee(some_arg) % Wouldn't this be great? we know where it failed and the args. false.
I bet we all in this forum have gotten
false for an answer and then we have to start digging around