使用Cloud Haskell平台在GHCi中的奇怪行为

rda*_*itz 5 haskell network-programming ghci cloud-haskell

在教程(http://haskell-distributed.github.io)之后,这段代码 - 在调用devGHCi之后 - 让一个CPU核心旋转到100%并无限期地保持在该水平.这似乎是由于呼吁而发生的closeTransport.

但是,逐行评估GHCi中的代码并没有显示出这种效果.那么差异来自何处以及如何才能正确清理?

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
Run Code Online (Sandbox Code Playgroud)