I have a hard time understanding member + predicate call. For example when I have a predicate like this:
predicate(List) :- member(X, List), someCalculations(X).
And let's suppose that the predicate someCalculations(X)
sometimes returns true and sometimes false, or just false/true. Will it stop for the first true returned or when all the X
members from List return true ? And when will it fail, when it encounters fail once, or when all the List members failed ?