← All posts tagged Prolog

Kim
Prolog В #1481938 я наврал. allocate/1 и deallocate/0 занимаются выделением активационных записей на отдельном стеке. Там хранятся только локальные переменные, которые понадобятся в коде предиката несколько раз. HEAP также организован в виде стека. HEAP, средствами WAM, очищается только на бэктрейсинге, когда удаляются все изменения сделанные в памяти после последней choice point.
Kim
GNU memory Prolog gc В gprolog нет сборщика мусора. Для управления памятью в WAM используются инструкции allocate/1 и deallocate/0, что для меня достаточно неожиданно.