On 1/25/17 5:56 AM, Niall Douglas wrote:
<blockquote>
This library provides a type that can represent a function's output,
I would use the phrase "can represent a function's return value" or perhaps "result". When I read this I substituted the word "outcome" in my brain and it seemed to me tautological.
...
</blockquote>
This is a nice description. Thank you. But as you'll see in v3 of the docs, I've completely rearchitected the message. Now Outcome looks like it's primarily an implementation of LEWG Expected, and it provides a few refinements of Expected which most users won't care about or will refuse to use.
Well, how about just calling it "expected" and "selling" it as an alternative to std::expected? There's lot's of precedent for this. We have boost::shared_ptr, boost::enable_if, etc. These have features that the std versions don't have and sometimes are indispensable for this reason.
Not only has your feedback and discussion been very valuable, I don't think the v3 tutorial would look like it does now without you.
make sure that your documentation has an acknowledgements section so you can mention this.
Do let me know if the v3 tutorial now makes sense to you. I even dove into "noexcept as can't fail" vs "noexcept can fail" as a nod to you :)
I'm gratified that you've taken the task of documentation as an integral part of developing the library. I've been flogging this idea in the boost incubator. I've got a lot to say about this there. Robert Ramey