如何 运行 在具有错误传播的列表上运行

How to run function on list with error propagation

请帮我解决以下问题:
我有两个功能:

eFAs :: [Ex] -> [AD] -> ReaderT E (StateT St (ErrorT String IO)) [(VN, TT)]

eFA :: (Ex, AD) -> ReaderT E (StateT St (ErrorT String IO)) (VN, TT)

现在,我想在 eFAs 中使用 eFA,以便 return 列出或错误(记住错误传播)。

确切地说,我的意思是 eFAszip Ex AD 的每个元素(仅凭直觉)和 return 对列表(使用 eFA ) 或错误(如果 eFAeFAa

出现错误

你能帮帮我吗?

好吧,只要输入检查就可以了

eFAs exs ads = mapM eFA (zip exs ads)

因此,您实际上是在对这些列表进行纯 zip,然后仅使用 mapM 的正常机制来完成其余的工作。这是您要找的吗?