Date: Fri, 18 Oct 2024 19:51:47 +0200
On 18/10/2024 16.30, Lauri Vasama via Std-Discussion wrote:
> P2889 was discussed in Varna. The reception was favourable
Hello Lauri,
thank you for the feedback
> but EWGI wanted to support dynamic linking, which I did not initially propose.
Sounds "interesting", because the standard is not concerned with
static/dynamic linking...
> To do this requires something like linked lists, but a hybrid approach is
> possible. Instead of linking individual elements, the implementation can
> choose to merge multiple elements into arrays and to serve a linked list
> of arrays to the user. In practice most of the time all elements can be
> placed into a single array, but implementability on more constrained
> platforms may require a linked list of arrays or even a linked list of
> individual elements.
>
> Currently the main thing needed to advance this proposal is an
> implementation. I have a partial one in Clang, but haven't had much time
> to work on it recently.
Too bad, this new requirement seems to make the feature much more
complex than required.
I just read the minutes, and am confused about the feedback...
Maybe the audience believed that something novel would be better than
what we already have through compiler extensions?
The existing practice already has two (gcc, clang) and a half (msvc,
because of those gaps between elements) implementations in the wild, all
used by multiple projects.
Thus we already know that
* it is useful
* it is implementable on multiple platforms
* it will simplify existing code taking advantage of newer c++ standard
and since how dynamic linking work is implementation defined, if an
implementation can merge those arrays together (as someone pointed out
in this mailing list), it is even possible to standardize the current
practice and try to improve it later.
I guess that one implementation exposing the array and size (or a couple
of pointers, an initializer_list, a span, or something else) is still
desired, even for proposing the status quo with a better interface.
I suppose the amount of work is, compared to support dynamic linking,
negligible.
> P2889 was discussed in Varna. The reception was favourable
Hello Lauri,
thank you for the feedback
> but EWGI wanted to support dynamic linking, which I did not initially propose.
Sounds "interesting", because the standard is not concerned with
static/dynamic linking...
> To do this requires something like linked lists, but a hybrid approach is
> possible. Instead of linking individual elements, the implementation can
> choose to merge multiple elements into arrays and to serve a linked list
> of arrays to the user. In practice most of the time all elements can be
> placed into a single array, but implementability on more constrained
> platforms may require a linked list of arrays or even a linked list of
> individual elements.
>
> Currently the main thing needed to advance this proposal is an
> implementation. I have a partial one in Clang, but haven't had much time
> to work on it recently.
Too bad, this new requirement seems to make the feature much more
complex than required.
I just read the minutes, and am confused about the feedback...
Maybe the audience believed that something novel would be better than
what we already have through compiler extensions?
The existing practice already has two (gcc, clang) and a half (msvc,
because of those gaps between elements) implementations in the wild, all
used by multiple projects.
Thus we already know that
* it is useful
* it is implementable on multiple platforms
* it will simplify existing code taking advantage of newer c++ standard
and since how dynamic linking work is implementation defined, if an
implementation can merge those arrays together (as someone pointed out
in this mailing list), it is even possible to standardize the current
practice and try to improve it later.
I guess that one implementation exposing the array and size (or a couple
of pointers, an initializer_list, a span, or something else) is still
desired, even for proposing the status quo with a better interface.
I suppose the amount of work is, compared to support dynamic linking,
negligible.
Received on 2024-10-18 17:51:59