【发布时间】:2013-06-30 01:06:24
【问题描述】:
我有以下程序,它在使用runhaskell Toy.hs 运行时不产生任何输出,而是无限期挂起。据我了解,程序应该打印“hi”然后退出。我将不胜感激有关如何调试此类问题的答案和/或建议。我正在使用来自 github (github.com/Gabriel439/Haskell-Pipes-Library) 的 Pipes 4.0.0。
module Toy where
import Pipes
import Control.Monad.State
type Request = String
type Response = String
serveChoice :: Request -> Server Request Response IO ()
serveChoice = forever go
where go req = do
lift $ putStrLn req
respond req
run :: Monad m => () -> Client Request Response (StateT Int m) ()
run () = do
request "hi"
return ()
main :: IO ()
main = evalStateT (runEffect $ hoist lift . serveChoice >-> run $ ()) 0
【问题讨论】:
标签: haskell haskell-pipes