Comment detail

呼んだのは誰? (Nested Flatten)
処理系依存、ですよ。
write('')みたいな副作用でもしないと、最適化で「呼び出し」が無かったことになっちゃうので、そうしています。
実行例
 $ pl -qs stack.pl
aaa(**)
bbb(**)
?-
1
2
3
4
5
6
aaa(X):-whoami(X),write('').
bbb(X):-whoami(X),write('').

whoami(X):-prolog_current_frame(F),prolog_frame_attribute(F,parent,X0),prolog_frame_attribute(X0,goal,X).

:-aaa(Xa),writeln(Xa),bbb(Xb),writeln(Xb).

Index

Feed

Other

Link

Pathtraq

loading...