para - Extraño comportamiento en GHCi con Cloud Haskell Platform
haskell platform x32 (0)
Siguiendo los tutoriales ( http://haskell-distributed.github.io ), este código, después de llamar a dev
en GHCi, permite que un núcleo de la CPU gire hasta el 100% y se mantenga en ese nivel indefinidamente. Esto parece suceder debido a la llamada a closeTransport
.
Sin embargo, evaluar el código en GHCi línea por línea, no muestra este efecto. Entonces, ¿de dónde viene la diferencia y cómo puedo limpiar correctamente?
import Network.Transport (closeTransport)
import Network.Transport.TCP (createTransport, defaultTCPParameters)
import Control.Distributed.Process.Node (newLocalNode, closeLocalNode, initRemoteTable)
dev :: IO ()
dev = do
Right t <- createTransport "localhost" "9000" defaultTCPParameters
n <- newLocalNode t initRemoteTable
-- do the work
closeLocalNode n -- <- doesn''t affect the observed behaviour
closeTransport t