我想使用StateT Monad从套接字句柄中读取字符串并将其追加到状态并重复。知道我怎么能做这个工作?
到目前为止我所拥有的是这样的:
sessHandleCmd :: Handle -> StateT String IO ()
sessHandleCmd hdl = get >>= \s -> put s >> sessHandleCmd hdl
runSession :: Handle -> IO ()
runSession hdl =
execStateT (sessHandleCmd hdl) "" >> return ()
不太确定如何在hGetLine hdl
内进行sessHandleCmd
。