I’m pretty sure that was available (XSB version 3.7?). (But this was 5+ years ago; memories fade and I don’t have access to the code or emails I wrote then … I suppose I could ask David Warren if he remembers …)
I would love to see a program that finds all acyclic paths and not just the shortest. The problem I encountered was that one of my arguments was building the list of visited nodes, and there didn’t seem to be any way to “subsume” these, which would have allowed terminating the computation. The only alternative would seem to be recording the visited nodes, e.g. with b_setval/2
, which I don’t think XSB had. But using globals is something I’d prefer to avoid.
(It’s also possible XSB version 3.8 has added some features that would solve the problem.)