LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

Для Mercury есть компилятор (чья-то PhD дипломная работа), имеющий compile time сборщик мусора (т.е. и не сборщик мусора в классическом понимании вовсе).

Это подход Rust и он имеет ограничения. Насколько мне известно алгоритм сборки мусора без трассировки, работающий во всех случаях, пока не придумали.

The current Mercury implementation supports two different methods of memory management: conservative garbage collection, or no garbage collection. The latter is suitable only for programs with very short running times (less than a second), which makes the former the standard method for almost all Mercury programs.

Отсюда.

То есть там либо обычный сборщик мусора, либо выделение памяти вообще без освобождения и постоянной утечкой.

Или имелось ввиду это? Это подход близкий к Rust когда создаются кучи памяти с единичным владением. Сборки мусора там нет.

Исправление X512, :

Для Mercury есть компилятор (чья-то PhD дипломная работа), имеющий compile time сборщик мусора (т.е. и не сборщик мусора в классическом понимании вовсе).

Это подход Rust и он имеет ограничения. Насколько мне известно алгоритм сборки мусора без трассировки, работающий во всех случаях, пока не придумали.

The current Mercury implementation supports two different methods of memory management: conservative garbage collection, or no garbage collection. The latter is suitable only for programs with very short running times (less than a second), which makes the former the standard method for almost all Mercury programs.

Отсюда.

То есть там либо обычный сборщик мусора, либо выделение памяти вообще без освобождения и постоянной утечкой.

Исходная версия X512, :

Для Mercury есть компилятор (чья-то PhD дипломная работа), имеющий compile time сборщик мусора (т.е. и не сборщик мусора в классическом понимании вовсе).

Это подход Rust и он имеет ограничения. Насколько мне известно алгоритм сборки мусора без трассировки, работающий во всех случаях, пока не придумали.