On Wednesday, 13 October 2021 at 19:30:43 UTC, Andrei Alexandrescu wrote:
>On 2021-10-13 15:28, Adam D Ruppe wrote:
>On Wednesday, 13 October 2021 at 19:18:55 UTC, Andrei Alexandrescu wrote:
>The point is that with keeps the entire expression live, even if you only care about a part of it:
OK, that explains things now. I see what you're going for.
Not in love with it being with
that works differently than the other with
s but it kinda makes sense anyway.
The lambda pattern though does have a few other advantages... I think it is generally easier to use... but gotta chew on it a bit.
One major issue with the lambda pattern is composition. Every layer of composition introduces yet another scope AND parenthesis level. That doesn't scale well at all.
The lack of composability is annoying, but how often is it practically a problem ? Those functions are used for D to C string conversion, so in practice they are always at the end of the pipeline (just like each
is). I don't really see how those could justify a new language feature.