Pulling some builtin logic out
Robert Fraser
fraserofthenight at gmail.com
Mon Mar 31 23:28:07 PDT 2008
Kaja wrote:
> Walter wrote in the docs:
>> Associative Arrays
>>
>> The main benefit for this is, once again, syntactic sugar. An
>> associative array keying off of a type T and storing an int value is
>> naturally written as:
>>
>> int[T] foo;
>> rather than:
>>
>> import std.associativeArray;
>> ...
>> std.associativeArray.AA!(T, int) foo;
>> Builtin associative arrays also offer the possibility of having associative
>> array literals, which are an often requested additional feature.
>
> And he's not big on standrdizing a library, but what if we could have the syntactic sugar and flexibility? What if int[T] mapped to an interface for associative arrays rather than a class or builtin type? Standardize the interface and not the implementation.
>
> Then someone could still do something like this:
>
> class MyAA(K, V) : std.associativeArray(K, V)
> {
> // insert my implementation
> }
>
> // compiler choice. probably builtin implementation
> int[string] foo;
>
> // programmer choice.
> int[string] foo2 = new MyAA!(string, int)();
>
> Thoughts? Comments?
I'd assume the user would be given some control, so she could, say, use
Judy ( http://judy.sourceforge.net ) or her own implementation rather
than a built-in/standard library implementation and look down on
everyone else's cache inefficiencies?
More information about the Digitalmars-d
mailing list