Findall displaying only 9 resulting elements

Hello !

I’m using SWI-Prolog version 6.2.2
I want the code to display all solutions to a goal, so I’m using findall/3.
It almost works but what I’m getting is:

Results = [result1, result2, result3, result4, result5, result6, result7, result8, result9|...].

How can I make it so it does not push some results in the tail of the answer, I just want ALL my result list, not the 9 first elements.

My code looks like this:

% etc. defining around 50 "things"

seekProperty(P,T) :- things(T,L), member(I, L).

seek(P,T) :- findall(T, seekProperty(P,T), Things).

Execution :


Thank you !

See: Help: I want the whole answer

It is unfortunate that it requires a user input.

I will try to change the default behavior, bur the location of the file (as indicated in to change the default settings is not correct.
Actually the only associated with Prolog on my whole machine is in C:\Program Files (x86)\swipl\customize
Adding the set_prolog_flag/2 directive in this file as adviced in your link does not work (still have 9 results then a tail).

I never change the setting and always use the ;true option so I will check to see if I can reproduce the problem. Another post seems to be hinting at the same.

I found a way :
I edited the found in Programs/swipl/customize/ and saved it in \AppData\Roaming\SWI-Prolog
( run ?- absolute_file_name(app_config(.), Dir, [file_type(directory)]). to have the proper directory on your environment).

This way it works !

1 Like