如何将故障从内部功能推迟到外部

How to defer failure from inner function to outer

提问人:joel 提问时间:11/9/2020 更新时间:11/9/2020 访问量:27

问:

我有一个需要函数的函数。g : (T -> Double) -> Tf : T -> Double

但是,我没有.我有一个可能失败的功能。我不能修改自己,但是有没有某种方法可以在(或某些包装器)中使用,这样当成功时,使用and结果在,当失败时,你得到 - 基本上推迟到最终结果,而不是中间结果?T -> Doublef_err : T -> Maybe Doublegf_errggf_errf_errgJust Tf_errNothingMaybef_err

函数式编程 语言不可知选项 类型

评论

0赞 username 11/9/2020
是否可以修改以使用函子或其他东西?g
0赞 joel 11/9/2020
@user你能举个例子吗?
0赞 username 11/9/2020
好吧,我不知道它是什么样子的,但如果是这样的,那么你也许可以把它变成类似的东西。(请原谅我在这里犯的任何错误,我不是 Haskell 程序员)gg f = h (f some_t)g f = fmap h (f some_t)

答: 暂无答案