On Fri, Sep 14, 2012 at 10:28 AM, Matt Calabrese <
riv...@gmail.com> wrote:
> What specifically about it do you find overly complex? Yes, I am imagining
> something like the proposed C++ concepts (of which I am deeply familiar),
> though I wasn't really referring to the proposed C++ concepts. All I mean is
> a facility that lets you create a generic programming concept with (loose)
> pseudo-signatures for associated function mapping, concept refinement,
> associated types, concept-based overloading, and preferably explicit and
> implicit concept mapping. What do you like better about type classes, and
> again, what specifically do you not like in the C++ concepts proposal.
Well, this is all admittedly my own prejudice:
- Functional dependencies are more appealing to me than associated types
- Implicit vs. explicit concept mapping seems like a backward
compatibility aid more than a desirable feature. If you're starting
from a clean slate, I think explicit concept maps are preferable.
- The C++ proposal also proposes concept-dependent lookup, which I'm
not a fan of. I'd prefer that f(T) mean the same thing everywhere, and
not have a special meaning for concept templates.
Beyond that, I agree that associated function mapping, refinement, and
concept-based overloading are all desirable features.
-Joe