Сегодня я пишу небольшую программу на Хаскеле.Я обнаружил, что в интерактивном режиме ghci это:
take 100 $ foldl (\s a -> s ++ [last s + a]) [0] (1:[6,12..])
может повесить ghci и вызвать его сбой из-за нехватки памяти, но это:
take 100 $ foldl (\s a -> s ++ [last s + a]) [0] (1:[6,12..606])
может работать просто отлично.
Почему ленивая оценка Haskell не может сделать первый запуск в памяти (3G, BTW)?Или, может быть, это причуда ghci?
Спасибо за любые комментарии!