gpt4 book ai didi

error-handling - 使用单子(monad)批量进行失败的转换?

转载 作者:行者123 更新时间:2023-12-04 04:32:44 26 4
gpt4 key购买 nike

刚开始摸索单子(monad)。我认为在 Clojure 中,所以纯度对我来说并不是非常重要。

我有一系列可能会失败的业务操作(可组合转换)。这可以用 error-monad 很好地抽象出来。

部分业务操作涉及到数据库IO,为了速度我需要批量执行。每个批量操作都作用于一组独立的项目,因此一个失败不能使整个集合失败。

我是否应该将批量转换视为一个对象( map )上的一系列函数,这些函数在错误单子(monad)之类的内部完成,但作用于序列中的独立项目? seq-monad 在这里对我有帮助吗?我应该怎么想?还有其他想法吗?

我没有看到将它与 IO-monad 结合起来对 Clojure 中的数据库副作用有任何特别的好处,对此有何想法?

最佳答案

很难确切地说出您需要什么,因为您的业务案例似乎有点涉及,但我认为您可能会从使用 clojure.algo.monads 库中获得一些好处。

您可以在内部处理批处理的错误单子(monad)或可能单子(monad)上创建自己的变体。

关于error-handling - 使用单子(monad)批量进行失败的转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com