On 24 Aug 2015 at 12:27, Andrey Semashev wrote:
I can remove monad<T> from all the tutorial code. Or I can include documentation of monad<T> in AFIO. Which would you prefer?
Niall, I think you're missing the point. Is monad<T> part of the library interface? I.e. is the user allowed to use it to work with the library? If the answer is yes then it's a public part of the library and should be documented and reviewed. It doesn't matter if it is possible to code around it. If the answer is no then why is it there in the first place?
In hindsight the decision to use monad<T> in the tutorial examples was a mistake. I was trying to present a series of progressing steps which elegantly hanged together with respect to one another and which got the user used to the concept of invariance of API interface with respect to asynchronicity, but now I see that choice was confusing and nothing to do with AFIO. It would be a shame if AFIO were rejected due to that mistake in the tutorial, but it can't be undone for this review. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/