C++ Logo

std-discussion

Advanced search

Re: On "transparently replaceable" in std::vector operations

From: Ville Voutilainen <ville.voutilainen_at_[hidden]>
Date: Fri, 30 Apr 2021 22:52:58 +0300
On Fri, 30 Apr 2021 at 22:37, Tom Honermann via Std-Discussion
<std-discussion_at_[hidden]> wrote:
>
> On 4/30/21 2:21 PM, Hyman Rosen wrote:
>
> Since when is the ability to run your code in the compiler the driving force behind what C++ should be? Seems like a silly goal.
>
> I didn't state that it is the driving force behind what C++ should be. That being said, the ability to use constant evaluation in place of the preprocessor and to use the same language to write code that executes at compile-time or run-time is a significant benefit.
>
> The point is that this is a benefit of the current object model. And as Ville noted, that benefit is not limited to the scenario I described. Any static analysis will benefit from it.

Right, apologies all around if anyone thought it facetious; there was
some color next to my remark because
I'm guilty of doing that when I'm not sure what I'm talking about, but
"the memory model and the object model are used for symbolically
computing various kinds of correctness proofs" was in no way a joke.

And as I would hope some folks have realized, that's my and other
people's concern about
suggestions to revamp the object model, or the memory model. There are
things built on those
models. Suggestions for revamps should be able to explain how those
things are to be achieved
with a revamped model. It's not a question of just optimizations
relying on the models, it's..
..everything. We can debate whether the foundation is sound, or
whether it could be better,
but a replacement for it cannot realistically capability-regress,
unless you just want this
language to drop dead. :P (I don't care as such; I use any language
that solves problems, but contorting
a functional tool into a dysfunctional tool is not acceptable.)

Received on 2021-04-30 14:53:11