Sto provando a risolvere un algoritmo in Haskell, e per farlo ho bisogno di una struttura di dati abbastanza grande. Tuttavia, il sito per la risoluzione dei problemi a cui invio la mia soluzione non utilizza alcuna opzione di runtime per consentire uno stack più grande, ma ho sentito che posso usare le opzioni del compilatore come pragma. Ho provato con seguente pragma nel mio codice:Uso dell'opzione -with-rtsopts ghc come praga
{-# OPTIONS_GHC -O2 -rtsopts -with-rtsopts=-K32m #-}
Poi ho compilare con ghc --make algo.hs
. Tuttavia, quando eseguo sul mio computer alcuni test importanti, il programma si arresta in modo anomalo con overflow dello stack e segnala che la dimensione dello stack corrente è 8 MB. D'altra parte, quando compilo così:
ghc -rtsopts -with-rtsopts=-K32M --make algo.hs -fforce-recomp
Il programma funziona bene sugli stessi dati, senza l'aggiunta di +RTS
argomenti. Uso GHC 7.0.2, ma il sito per la risoluzione dei problemi utilizza 6.12.3, quindi preferibilmente sto cercando una soluzione che possa funzionare anche con quella vecchia versione.