如何从Shell monad中提取一个值?
我想排序的命令列表点菜 bash的&&,但我也想提取最终ExitCode值.
说我有以下代码:
import Turtle
type Commands = [Shell ExitCode]
run :: (MonadIO io) => Commands -> io ExitCode
run cs = whatIsThisFunction $ Prelude.foldl (.&&.) (return ExitSuccess) cs
whatIsThisFunction :: (MonadIO io) => Shell a -> io a
whatIsThisFunction = undefined
Run Code Online (Sandbox Code Playgroud)
我试图看看我是否可以用Control.Foldl实现它,但没有找到解决方案.
有任何想法吗?
更一般地说,为什么Turtle没有提供具有这种签名的功能:
sh' :: MonadIO io => Shell a -> io a
Run Code Online (Sandbox Code Playgroud)