Subject: Re: [boost] [GSoC] [Boost.Hana] Formal review request
From: Robert Ramey (ramey_at_[hidden])
Date: 2014-08-02 14:24:35
Eric Niebler-4 wrote
> On 08/01/2014 08:22 AM, Robert Ramey wrote:
>> b) settlement of "best practice in the real world" of implementation
>> of this idea. I recommended Boost Concept Check. Which isn't bad for
>> a start, but isn't perfect either. I ideally I would like to see
>> this used where its a good fit and an alternative for cases where it
> Boost Concept Check is horribly dated and very limited, IMO. For my work
> on a new range library[*], I built a new concept check library for
> C++11. ...
> [*] http://www.github.com/ericniebler/range-v3
I took a look at this to satisfy my curiosity. It's interesting but I have
big problem with it.
I'm trying to promote the simplest view of "type constraints" which can
possible work. Your solution does more - at the cost of requiring a lot
more effort to understand and use correctly. (there is no documentation
about it either). Then there is the fact that it requires a compiler
"man enough" (hmmm - why not woman enough?) to use. So I don't
think it's a good vehicle for promoting the concept of type constraints.
I would just like every library invoke a compile time assert whenever
in instantiate a template with type arguments which won't work.
Boost Concept Check can do this. In fact, maybe BCC is over kill.
I seriously considered recommending making concept checking classes with
just static_assert. But in the end I opted for recommending BCC.
a) It has good documentation. This is fairly easy to understand
- once the confusion regarding the misleading word "concept" is cleared away
- which I've been trying to do.
b) it has examples.
c) It works with all known complier versions.
d) It's very easy to use.
So I'm sticking to my original advice.
-- View this message in context: http://boost.2283326.n4.nabble.com/Re-GSoC-Boost-Hana-Formal-review-request-tp4665622p4665951.html Sent from the Boost - Dev mailing list archive at Nabble.com.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk