如何在错误传播的列表上运行函数

时间:2016-04-28 19:00:26

标签: haskell monads

请关注我的事情:
我有两个功能:

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

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

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

确切地说,我的意思是eFAseFA的每个元素(只有直觉)应用zip Ex AD并返回对列表(使用eFA)或错误(以防万一)来自eFAeFAa

的错误

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

好吧,它会输入检查

eFAs exs ads = mapM eFA (zip exs ads)

所以你真的要完成这些列表的纯zip,然后只使用mapM的常规机制来完成剩下的工作。这是你正在寻找的吗?