(За пропозицією @repeat ) Розгляньте запит чистої програми 1 ?- G_0.
Яку користь матиме запит ?- G_0, G_0.
?
Виноски
1 Немає табелів (щоб бути безпечним), обмеження в порядку.
Попередня публікація на цю тему.
?- G_0(State), G_0(State).
Також не передається держава на стек від результату першої цілі до другої мети?
G_0
може бути будь-який (чистої) цілі, в тому числі, скажімоG_0 = append(Xs,Ys,Zs)
G_0;G_0
одного можна перевірити побічні ефекти або проблеми з продуктивністю / кешуванням / маркуванням)
G_0(State),G_0(State)
один досить пишеcall(G_1,State), call(G_1,State)