News for hackers. Stuff that matters.
Re:Modern C++: 7 Ways to Fake It Until You Have It by ilugaslifk on Tuesday September 04, 2018 @12:10AM (#17906576)
I know this is not quite on topic, but:

Giving some particular construct in your language the official name "Concepts" is just unbelievably fucking atrociously stupid. Inexplicably greedy and needlessly destructive.

Say what you will about Haskell's user-hostile jargon, but even they had the sense to rename a concept that was originally called "Idiom". (now "Applicative")

Re:Modern C++: 7 Ways to Fake It Until You Have It by jholman on Tuesday September 04, 2018 @05:25AM (#17907719)
Is it worse than calling your auto-resizing-sequence type "vector", even though a vector is properly a tuple of (arbitrary) fixed size, and is incomparable with another thing of any other size?

(okay, I guess it might be worse than that)

Re:Modern C++: 7 Ways to Fake It Until You Have It by stochastic_monk on Tuesday September 04, 2018 @12:28PM (#17910239)
Yes, because vector is a library, not part of the core language itself.
Re:Modern C++: 7 Ways to Fake It Until You Have It by Koshkin on Tuesday September 04, 2018 @01:25PM (#17910874)
Well, not just some library. (The 'standard library' should be seen as part of the language.)
Re:Modern C++: 7 Ways to Fake It Until You Have It by stochastic_monk on Tuesday September 04, 2018 @01:41PM (#17911065)
True, but there is a huge difference between a standard library feature and a keyword.
Re:Modern C++: 7 Ways to Fake It Until You Have It by Koshkin on Tuesday September 04, 2018 @06:10PM (#17913287)
Not really... Not in the case of the standard library anyway.
Re:Modern C++: 7 Ways to Fake It Until You Have It by stochastic_monk on Tuesday September 04, 2018 @07:56PM (#17913932)
A keyword is a more core part of the language than the standard library. I could re-implement my own vector. I cannot add my own keyword.
Re:Modern C++: 7 Ways to Fake It Until You Have It by Koshkin on Wednesday September 05, 2018 @09:27AM (#17917692)
No, you cannot/wouldn't reimplement std::vector (not in the sense you are implying).

Compiler writers often extend the language with new keywords.

Re:Modern C++: 7 Ways to Fake It Until You Have It by stochastic_monk on Friday September 07, 2018 @08:01AM (#17933567)
Can you elaborate on the last point? Do you mean things like macros they use, e.g., concepts lite, or __builtin* functions?

I still feel like a standard container is less fundamental than keywords, but I value your perspective.

Re:Modern C++: 7 Ways to Fake It Until You Have It by Koshkin on Friday September 07, 2018 @03:29PM (#17936988)
Yes, built-ins, intrinsics, and extensions.

My original point was simply that std::vector, say, is just as good a "keyword" as any - perhaps, not because you cannot redefine it but because you wouldn't, and if you didn't like what it does, you'd use/implement something else.

Re:Modern C++: 7 Ways to Fake It Until You Have It by AstralStorm on Tuesday September 04, 2018 @04:18AM (#17907461)
Applicative is actually a lying name as it has little to do with Applicative category in maths. (an Arrow does, is a subkind of mathematical applicatives)

It is in the same category of lies like C++ calling its thing a class. (except C++ does not try to have math background)

I prefer a common name to a wrong and confusing name.

Re:Modern C++: 7 Ways to Fake It Until You Have It by stochastic_monk on Tuesday September 04, 2018 @12:29PM (#17910245)
How is a C++ not a class? It’s a class of objects satisfying certain operations and possessing certain attributes.
Re:Modern C++: 7 Ways to Fake It Until You Have It by phendrenad2 on Tuesday September 04, 2018 @03:28AM (#17907247)
As a teen, I was introduced to C++ by a friend (who was trying to get me to stop programming in BASIC). We had a serious bit of confusion for a moment when I couldn't understand where he was watching/attending/accessing these "classes".

Imagine how much more fun we could have had if they had "concepts" in the language back then!