DIP 1020--Named Parameters--Community Review Round 2
12345swordy
alexanderheistermann at gmail.com
Tue Sep 10 18:13:16 UTC 2019
On Tuesday, 10 September 2019 at 18:11:58 UTC, 12345swordy wrote:
> On Tuesday, 10 September 2019 at 16:09:39 UTC, rikki cattermole
> wrote:
>> On 11/09/2019 3:45 AM, 12345swordy wrote:
>>> On Tuesday, 10 September 2019 at 14:19:02 UTC, rikki
>>> cattermole wrote:
>>>> On 11/09/2019 2:01 AM, 12345swordy wrote:
>>>>> Issues with the "@named" attribute:
>>>>> 1.This is opt-in rather then opt-out, which may causes
>>>>> users to beg the library maintainers to update their
>>>>> libraries to support name attribute.
>>>>
>>>> This is intended.
>>>> If you want to override the intention of the API author then
>>>> we need to find another solution. One which I am unsure
>>>> about how good it would be.
>>>
>>> Make it an opt-in compiler flag.
>>>
>>> Alex
>>
>> I do not believe a flag like this is a good solution.
>> Over the years there has been a lot of talk about how bad
>> -property is and it is similar in function to what you are
>> proposing.
>
> The issue with property atm, is that is half-baked. People keep
> thinking that optional parentheses will replace it. It didn't
> as it doesn't support operators such as += and ++. This flag
> deals with the interaction with other libraries and public
> interfaces.
>
>
>> However I do have a syntax in mind if there is an overwhelming
>> call to support overriding the API makers intention for an API.
>>
>> The problem with it is, I have no idea how it would be
>> implemented. But Walter seems to, so if the desire is there by
>> enough people I guess I would have to add it.
>
> Would it be better to have the named arguments opt-out via
> @unnamed instead of opt-in via @named? If certain people are
> that worry about breaking the public API, they should avoid
> mark their function as "@unnamed", instead having to mark every
> function @named just to use named arguments.
>
> Besides we are dealing with c and c++ external bindings, and
> there are tools that generate those bindings. If I were to
> modify the tools to generate the @named arguments
> automatically, I still may end up in a plausable situation
> where the c/c++ library managers may changed the arguments
> names, which then causes breakage in the public api. Which it
> renders the case for @named moot, as you are not necessarily
> the developer for those c/c++ libraries.
>
> This dip fail to provide a solid case where breakage from the
> change of the public api function arguments is a huge deal that
> needs to be avoided.
>
> - Alex
*they should mark their function as "@unnamed"
sorry mentally exhausted.
More information about the Digitalmars-d
mailing list