Re: [Haskell] Почему течет?
От: Rtveliashvili Denys Великобритания  
Дата: 02.07.10 07:05
Оценка:
Я считаю, что это — баг. Стоит сообщить в ghc-developers mail list.

У меня это тоже есть память без ограничений, но только в GHCI. GHC даже с выключенными оптимизациями таким не занимается.

А>Всем привет!

А>Никак не могу понять почему течет память в программе.

А>test :: () -> ()

А>test () = test ()
А>main = putStrLn.show $ test ()

А>Эксперементами установил, что если сделать так: test () = 1 `seq` test (), то все нормально, т.е. программа крутится в бесконечном цикле, объем занимаемой памяти остается постоянным. Но если поменять 1 на значение какого-то другого типа (даже на 1::Int), память расходуется очень быстро.

А>Кто-нибудь может объяснить такое поведение? Похоже на баг. Версия GHC 6.12.1
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.