String lambdas

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 27 17:34:06 PDT 2016


On Thursday, 28 April 2016 at 00:14:41 UTC, deadalnix wrote:
> On Wednesday, 27 April 2016 at 17:04:47 UTC, Andrei 
> Alexandrescu wrote:
>> Yes, you get it exactly right. I think a DIP would be 
>> warranted here to clarify how lambda equivalence is computed. 
>> Could you please draft one? -- Andrei
>
> More generally, it is not clear what is allowed to do for 
> merging functions. In C/C++ it is assumed that different 
> function MUST have different identities. Namely, if foo and bar 
> MUST have a different address.
>
> It means that, even if foo and bar have the same body, you 
> can't merge them. Compiler can, however, emit a branch to foo's 
> body into bar or vice versa and it is alright.
>
> This is a problem for us if we want to merge templates. I think 
> we should abolish this in D, to unlock more merging.

Seconded.


More information about the Digitalmars-d mailing list