|
Boost : |
Subject: Re: [boost] [GSoC] [Boost.Hana] Formal review request
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2014-07-29 20:14:46
On 29 Jul 2014 at 13:41, Robert Ramey wrote:
> of it, but it did affect me and convinced me that what we needed was
> more formal usage of C++ concepts and requirement that new libraries
> implement and document them where appropriate. I've been flogging this
> when/where I can - most recently in the Boost Incubator pages. So far, I
> haven't made much head way yet, but I'm only 66 so this won't go away for
> some time yet.
Everywhere I've seen Concepts used I've found it significantly
worsens the documentation for them because it provides an excuse to
even further scatter important information across even more pages.
ASIO is a classic example here.
I'm all for Concepts as in compiler enforced ones, and I'll add them
to AFIO when and only when C++ gets them. But for documentation they
don't help.
> Looking at your documentation, I realize now that you've implemented C++
> concepts under the name TypeClasses (sounds vaguely familiar from the 20
> times I read the haskel book trying to figure out what a monad is). And
> you have fairly extensive information about what TypeClass means - it
> means C++ concept / type requirement. I would have much preferred that
> you had explicitly used boost concept check library.
No, his are much more useful and functional, unsurprising as he
really pushes out constexpr and generic lambdas. And he's left the
door open to eventually use C++17 concepts if I understand correctly.
I think he's done great here, quite astonishing for someone without
decades of experience under his belt. I certainly think his approach
of benchmarking all implementation options before beginning has paid
off hugely in the design.
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk