Associative Arrays in the data segment

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sat Apr 11 21:01:25 PDT 2015


On 4/10/15 8:45 PM, Daniel Murphy wrote:
> "Andrei Alexandrescu"  wrote in message
> news:mg94od$1v4g$1 at digitalmars.com...
>
>> Can you make a salient argument that this is a step in the right
>> direction? In that case what's the vision for future steps? Thanks! --
>> Andrei
>
> This approach makes the common cases of AAs in the data segment work.
> This enables a very useful idiom of defining a constant lookup table and
> using it at runtime to map values.
>
> The hashing and AA implementations that need to be replicated in the
> compiler are trivial, and easily updated if anybody does change the
> druntime implementation.  At worst it's pretty much a copy-paste from
> the druntime sources.  And as I've said, I'm happy provide a matching
> dmd implementation of anybody's new druntime implementation.
>
> A future library AA implementation would not be complicated by this
> patch, because the code in this patch is only reached when an AA literal
> survives until codegen.  A library AA would lower the AA literal to some
> other construct before codegen.
>
> This is a step in the right direction because it will make the common
> cases of this feature work.  That's it.  It doesn't hurt or help other
> AA issues in a significant way.

This is nice work, but sorry it is hardly conductive to warm fuzzy 
feelings. -- Andrei



More information about the Digitalmars-d mailing list