Почему большое число отображается неполным в ECLiPSe Prolog?

Я использую последнюю версию 64-битного ECLiPSe Prolog для Windows, затем компилирую код:

:- op(200, yf, !).
!(N, F) :- fac(N, 1, F).
fac(0, F0, F) :- !, F=F0.
fac(N, F0, F) :- N1 is N-1, F1 is F0*N, fac(N1, F1, F).

Введен запрос:

?- X is 100000 !.
X = 28242294079603478742934215200555696886678...
Yes (8.17s cpu)

Первый вопрос: Почему в TkEclipse отображаются только 1999 цифр, а не 456574 полных цифры?

Второй вопрос: Предлагает ли возможность протоколировать взаимодействие пользователя с файлом ECLiPSe Prolog как протокол(+Файл) SWI-Prolog?

Прошу прощения за два вопроса. Я буду благодарен за любую помощь, которую вы можете предоставить.


person T. S. Larsen    schedule 08.12.2017    source источник
comment
Кажется, это специфично для Tk. В противном случае печатаются символы ‹ 500k.   -  person false    schedule 10.12.2017


Ответы (2)


ECLiPSe печатает полный результат в поток с именем answer_output, но позже текст усекается графическим пользовательским интерфейсом.

Самый простой способ получить результат в файл — записать его туда явно, например.

?- open(myresult,write,S), X is 100000!, writeln(S,'X'=X), close(S).
person jschimpf    schedule 10.12.2017

Работает с DosEclipse начиная с версии 7.0 #36 (x86_64_nt):

введите здесь описание изображения

Редактировать 31.01.2018: Время отображается одинаково, когда выходные данные не создаются.

person Mostowski Collapse    schedule 30.01.2018