为什么 std::expected 中没有 monadic 操作?
Why are there no monadic operations in std::expected?
在 C++23 中,采用了 std::optional
中的单子操作,后来采用了 std::expected
。为什么像 and_then
、transform
和 or_else
这样的单子运算没有包含在主要论文中?
std::expected
提议很旧。采用的修订版是 P0323R12,这已经表明它的使用寿命很长,但该论文甚至早于 P-numbering 系统,并且开始于 N4015,日期为 2014 年 5 月。
我提出这个问题是因为 std::expected
,即使是它自己,也需要很长时间才能完成整个过程。相比之下,std::optional
论文的单子操作仅在 October 2017 中首次出现。从那以后,获得 std::expected
只是一个漫长的过程。
是 一篇论文,提出 std::expected
的单子操作,即 P2505R0,但目前还很不完整,需要大量工作。新 C++23 功能的设计 window 已经关闭,但如果以后有 NB 评论要求它,我也不会感到惊讶。
至少我们终于有了std::expected
。
在 C++23 中,采用了 std::optional
中的单子操作,后来采用了 std::expected
。为什么像 and_then
、transform
和 or_else
这样的单子运算没有包含在主要论文中?
std::expected
提议很旧。采用的修订版是 P0323R12,这已经表明它的使用寿命很长,但该论文甚至早于 P-numbering 系统,并且开始于 N4015,日期为 2014 年 5 月。
我提出这个问题是因为 std::expected
,即使是它自己,也需要很长时间才能完成整个过程。相比之下,std::optional
论文的单子操作仅在 October 2017 中首次出现。从那以后,获得 std::expected
只是一个漫长的过程。
是 一篇论文,提出 std::expected
的单子操作,即 P2505R0,但目前还很不完整,需要大量工作。新 C++23 功能的设计 window 已经关闭,但如果以后有 NB 评论要求它,我也不会感到惊讶。
至少我们终于有了std::expected
。