Discussion Thread: DIP 1036--Formatted String Tuple Literals--Community Review Round 1
Aliak
something at something.com
Sat Sep 12 07:49:49 UTC 2020
On Friday, 11 September 2020 at 20:46:05 UTC, Paul Backus wrote:
> On Friday, 11 September 2020 at 19:59:35 UTC, Adam D. Ruppe
> wrote:
>> On Friday, 11 September 2020 at 19:31:33 UTC, Paul Backus
>> wrote:
>>> The solution is to use the type system.
>>
>> This is exactly what the DIP does!
>>
>> Something serious must have gotten lost between my brain and
>> the text.
>
> I guess you didn't have time to check out the video. What I
> mean is, the solution is to change the signature of
> "createWindow":
>
> alias Width = Typedef!(int, int.init, "Width");
> alias Height = Typedef!(int, int.init, "Height");
>
> void createWindow(string title, Width width, Height height);
Requiring to retype int semantically for every function that has
a string followed by an int to avoid “non-obvious” affects of a
language feature seems seems a bit overkill.
Pretty sure there was something in Scott meyers talks about APIs
that work how you’d expect them to as well.
>
> This solves the issue of accidentally passing the wrong thing
> with i"Window $id", and also prevents non-interpolation-related
> accidental usage, like mixing up the width and height.
>
>> This DIP builds on D's unique strengths, enhancing existing
>> opportunities. None of the others come close, they're just
>> syntax sugar.
>
> I agree with this 100%, except I think it's a point against DIP
> 1036 and in favor of the other proposals. :)
>
> We already have ways to put stuff in the middle of strings. The
> reason we want string interpolation is to make the syntax for
> it less ugly. So, it *should* be "just syntax sugar." Anything
> beyond that is bloat.
More information about the Digitalmars-d
mailing list