(Theo đề xuất của @repeat ) Hãy xem xét một truy vấn của chương trình thuần túy 1 ?- G_0.
Sử dụng nếu có bất kỳ truy vấn ?- G_0, G_0.
nào?
Chú thích
1 Không có tabling (để an toàn), các ràng buộc là OK.
Bài trước về chủ đề.
?- G_0(State), G_0(State).
Ngoài ra không có trạng thái nào được chuyển qua ngăn xếp từ kết quả của mục tiêu đầu tiên sang mục tiêu thứ hai?
G_0
có thể là bất kỳ mục tiêu (thuần túy) nào, bao gồm, giả sửG_0 = append(Xs,Ys,Zs)
G_0;G_0
một người có thể kiểm tra các tác dụng phụ hoặc các vấn đề về hiệu năng / bộ nhớ đệm / tab)
G_0(State),G_0(State)
viết thaycall(G_1,State), call(G_1,State)