> :- trace('append/3').
> :- trace(['append/3', 'reverse/2', '=/2']).
append/3 ��TRACE���ꤷ����μ¹���Ǥ���
> append([],X,X).
> append([A|X], Y, [A|Z]) :- append(X,Y,Z).
> ?- append(X,Y,[a]).
TRACE: ENTER append/3(1) - append ��1���ܤ��������ޤ���
bot, bot, < a > - ������ (bot, bot, [a]) �Ǥ���
TRACE: SUCCESS append/3(1) - append ��1���ܤ���������ޤ�����
< >, < a >, < a > - ������ ([], [a], [a]) �ˤʤ�ޤ�����
X: < > - ���ɽ���Ǥ���
Y: < a >
Enter ';' for more choices, otherwise press ENTER --> ;
TRACE: REENTER append/3(2) - �Хå��ȥ�å����� append ��2���ܤ��������ޤ���
bot, bot, < a > - ������ (bot, bot, [a]) �Ǥ���
TRACE: ENTER append/3(1) --- append ��1���ܤ���ƤӽФ���ޤ�����
list, bot, < > --- ������ (list, bot, []) �Ǥ���
TRACE: SUCCESS append/3(1) --- append ��1���ܤ���������ޤ�����
< >, < >, < > --- ������ ([], [], []) �Ǥ���
TRACE: SUCCESS append/3(2) - �ƤӽФ����� append ���������ޤ�����
< a >, < >, < a > - ������ ([a], [], [a]) �Ǥ���
X: < a > - ���ɽ���Ǥ���
Y: < >
Enter ';' for more choices, otherwise press ENTER --> ;
TRACE: REENTER append/3(2) --- ��ǸƤФ줿 append �˥Хå��ȥ�å����ޤ���
list, bot, < > --- ������ (list, bot, []) �Ǥ���
TRACE: FAIL append/3 --- ���� append �����Ԥ��ޤ�����
list, bot, < > --- ������ (list, bot, []) �Ǥ�����
TRACE: FAIL append/3 - �ƤӽФ����� append �����Ԥ��ޤ�����
bot, bot, < a > - ������ (bot, bot, [a]) �Ǥ�����
no - no ���֤���ޤ�����
��
|