Boston D Language Meetup in Back Bay
Steven Schveighoffer via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Thu Nov 17 10:31:40 PST 2016
On 11/17/16 12:42 PM, John Colvin wrote:
> On Thursday, 17 November 2016 at 16:28:08 UTC, Steven Schveighoffer wrote:
>> On 11/17/16 10:38 AM, John Colvin wrote:
>>> On Thursday, 17 November 2016 at 13:59:25 UTC, Steven Schveighoffer
>>> wrote:
>>>> [...]
>>>
>>> Can't you use a template lambda alias argument to pushTo instead, so
>>> then you can instantiate it inside pushTo?
>>>
>>> something like
>>> nullStream!char
>>> .bufferedInput
>>> .pushTo!(_ => _
>>> .arrayCastPipe!ubyte
>>> .outputFile("output.txt")
>>> );
>>> maybe?
>>
>> I could do that. But I don't like it ;)
>
> I don't think it's so bad, but fair enough
I can say the part I don't like is the _ => _ thing. Ugly. Other than
that, it's actually quite nice syntax-wise.
>> I'm also concerned that using a lambda is going to confuse or prevent
>> optimization.
>
> Why would you think that? If we can't trust the optimiser (dmd aside) to
> inline a template lambda argument then phobos is totally screwed!
I admit this isn't a rational fear ;) I just have had experience with
lambdas where this does happen. The fear part of my brain is warning me,
but the memory part can't remember the specifics of when this happened...
What happens when you use a local variable in your lambda expression?
-Steve
More information about the Digitalmars-d-announce
mailing list