Я получил сообщение об ошибке от ghc, которое я не понял, и уменьшил свой код до:
import System.Process
main = do
(_, out, _) <- readProcessWithExitCode "echo" ["foo"]
putStr out
(я должен был предоставить дополнительный аргумент readProcessWithExitCode).Компиляция этой неработающей программы с использованием runghc дает:
Test.hs:4:2:
Couldn't match expected type `IO
(GHC.IO.Exception.ExitCode, String, String)'
against inferred type `(a, b, c)'
In the pattern: (_, out, _)
In a stmt of a 'do' expression:
(_, out, _) <- readProcessWithExitCode "echo" ["foo"]
In the expression:
do { (_, out, _) <- readProcessWithExitCode "echo" ["foo"];
putStr out }
Как я мог выяснить, что мне не удалось полностью применить функцию из этого сообщения об ошибке ghc?