0

How to expand a query into a list?

f(a,b).
f(a,c).
d(a.d).

expand(f(a,X), Out)  -----> Out=[b,c,d]
TheOne
  • 10,819
  • 20
  • 81
  • 119

1 Answers1

4

Use bagof/3 or setof/3. E.g.:

?- bagof(X, (X = 1; X = 2), L).

L = [1,2]

yes

In your case that would be

?- bagof(X, f(a,X), Out).

starblue
  • 55,348
  • 14
  • 97
  • 151