«Спасительный» аналог Turbo Prolog в SWI-Prolog - PullRequest
3 голосов
/ 25 февраля 2012

Есть ли аналог SWI для функции Turbo save , которая сохраняет в файл факты, предварительно загруженные с помощью consult , а затем добавляемые с помощью assert ?

1 Ответ

3 голосов
/ 25 февраля 2012

В руководстве я не нашел функций, похожих на сохранение. Можно попробовать следующую замену:

% Save whole DB into file
save(FileName) :-
  open(FileName, update, F),
  with_output_to(S, listing),
  close(F).

Или даже короче:

save(FileName) :-
  tell(FileName), listing, told.
...