Сборка мусора в Haskell и параллельных вычислениях

Большинство языков, использующих сборщики мусора (возможно, все), имеют одну большую проблему, связанную с параллельными вычислениями: сборщику мусора приходится останавливать все запущенные потоки, чтобы удалить неиспользуемые объекты. В Haskell тоже есть сборщик мусора. Но из-за чистоты Haskell гарантирует, что никакие вычисления не изменяют исходные данные, вместо этого он создает копию, а затем вносит изменения. Я полагаю, что таким образом GC не нужно останавливать все потоки, чтобы выполнить свою работу. Мне просто любопытно: у Haskell такая же проблема со сборкой мусора или нет?

12
задан Erik Kaplun 6 November 2015 в 09:24
поделиться