このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1357748713/287
#  [1] 授業単元: プログラミング 
#   
#  [2] 問題文(含コード&リンク):1方向線上リストを使って、スタックを実現せよ。ただし、各記憶要素xは整数値をとるもの 
#  とする。 要素xをプッシュするpush(int x)、ポップしてその値を返すpop()、スタックが 
#  空かどうかを判断し真偽値を返すempty()、ならびに現在のスタック内容全体を表示するshow()を用意する。 
#   

push(_x,_スタック,[_x|_スタック]).

pop([_x|_スタック],_x,_スタック).

empty([]).

show(_スタック) :-
        append(_,[_要素|R],_スタック)
        writef('%t\n',[_要素]),
        R = [].