Próbuję rozwiązać układankę algorytmiczną w Haskell, a do tego potrzebuję dość dużej struktury danych. Jednak strona rozwiązywania problemów, do której przesyłam moje rozwiązanie, nie używa żadnych opcji czasu pracy, aby umożliwić większy stos, ale słyszałem, że mogę używać opcji kompilatora jako pragmy. Próbowałem za pomocą poniższego pragmy w moim kodu:Używanie opcji -with-rtsopts ghc jako pragma
{-# OPTIONS_GHC -O2 -rtsopts -with-rtsopts=-K32m #-}
Potem skompilować z ghc --make algo.hs
. Jednak po uruchomieniu komputera na niektórych dużych testach program ulega awarii z przepełnieniem stosu i informuje, że bieżący rozmiar stosu wynosi 8 MB. Z drugiej strony, kiedy mogę skompilować tak:
ghc -rtsopts -with-rtsopts=-K32M --make algo.hs -fforce-recomp
Program działa dobrze na tych samych danych, bez dodawania jakichkolwiek +RTS
argumenty. Używam GHC 7.0.2, ale strona z rozwiązywaniem problemów używa 6.12.3, więc najlepiej szukam rozwiązania, które mogłoby działać również z tą starą wersją.