Haskell-使用从createProcess和CreatePipe创建的句柄将管道导入StdStream

Haskell-使用从createProcess和CreatePipe创建的句柄将管道导入StdStream,haskell,process,Haskell,Process,我目前有以下代码: main :: IO () main = do (_, Just so, _, _) <- createProcess (proc "ls" ["."]) { std_ou

我目前有以下代码:

main :: IO ()                                                                       
main = do                                                                           
    (_, Just so, _, _)  <- createProcess (proc "ls" ["."]) { std_out = CreatePipe } 
    _ <- createProcess (proc "sort" []) { std_in = so }                             
    print "foo"     
main::IO()
main=do

(u,仅此而已,u,p)
StdStream
有一个将执行转换的
UseHandle
构造函数,因此请将代码调整为:

_ <- createProcess (proc "sort" []) { std_in = UseHandle so }
main = do                                                                         
    (_, Just so, _, ph1)  <- createProcess (proc "ls" ["."])
                               { std_out = CreatePipe } 
    (_, _, _, ph2) <- createProcess (proc "sort" []) { std_in = UseHandle so }
    waitForProcess ph1
    waitForProcess ph2
    print "foo"
_
main = do                                                                         
    (_, Just so, _, ph1)  <- createProcess (proc "ls" ["."])
                               { std_out = CreatePipe } 
    (_, _, _, ph2) <- createProcess (proc "sort" []) { std_in = UseHandle so }
    waitForProcess ph1
    waitForProcess ph2
    print "foo"