P0225: Why I want Concepts, and why I want them sooner rather than later -- Ville Voutilainen

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: P0225R0

Date: 2016-02-05

Why I want Concepts, and why I want them sooner rather than later

by Ville Voutilainen

Excerpt:

This paper provides highly-opinionated statements, anecdotes and personal opinions explaining why the author thinks Concepts should go into C++17 even if no Conceptified standard library parts are included in C++17.

Add a Comment

Comments are closed.

Comments (5)

0 0

Bartosz Bielecki said on Feb 8, 2016 12:26 AM:

What will C++17 be without concepts?
0 0

Leo Heinsaar said on Feb 8, 2016 02:28 AM:

In support of Ville's point: why not introduce ourselves to Concepts the other way around by releasing them into the wild (thus exposing it to more scrutiny), and **then** conceptifying STL with more experience. Wouldn't STL with Concepts only benefit from it?

It is much easier to understand concepts and constraints than enable_if and SFINAE.
0 0

ramey said on Feb 8, 2016 11:57 PM:

"programmers are aching to get the language feature into their hands"

What basis do you have for making such a statement? If one takes a look a Boost Libraries there is the Boost Concept Checking Library. Very few of the other boost libraries make use of it. Now you're going to say that that's because it's not powerful enough. I don't think that's the case. But if one looks through documentation of Boost Libraries, very few have concepts defined for their function/type type parameters. How many programmers have ever used enable_if - maybe 200 on the planet earth? I don't know. But I can't see you you make the above statement.

Any one who needs this will be able to make do with a work around until this is released in the normal way.

And (beside the point) when programmers do start to use the overload facility will be abused to create every more clever, unreadable code which depends on unseen declarations.

Robert Ramey
0 0

DanielaE said on Feb 9, 2016 04:47 AM:

Please, give me concepts - asap!

Every time I want to constrain my library interfaces I have to struggle with enable_if and stuff. Even though I may pretend to understand what I am doing, my colleagues who might be forced to maintain these libs don't. A conceptified STL is not required to improve this situation. And for the record: our customers or development partners don't accept dependencies on Boost at our library-APIs.
2 0

petke said on Feb 11, 2016 12:48 AM:

A leap of faith vs proof. I think I'd rather wait for the proof (of at least a partly conceptified STL).