DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu

Jonathan M Davis jmdavisProg at gmx.com
Sun Jun 30 19:04:06 PDT 2013


On Sunday, June 30, 2013 21:59:45 Steven Schveighoffer wrote:
> On Sun, 30 Jun 2013 21:43:53 -0400, Jonathan M Davis <jmdavisProg at gmx.com>
> 
> wrote:
> > On Sunday, June 30, 2013 19:20:47 Steven Schveighoffer wrote:
> >> No, the main issue is the current one is runtime-only, and so simple
> >> function calls such as toHash and opCmp cannot be inlined.
> > 
> > Yeah. That's a big problem. We really need to templatize all that -
> > though the
> > current implementation is enough of a mess to make that difficult.
> 
> The current implementation suffers from two problems:
> 
> 1. The compiler doesn't treat T[U] as a direct instantiation of
> AssocArray!(T, U) in all cases.
> 2. The compiler has bugs in terms of pure/@safe/ctfe/etc that it
> "overlooks" when using built-in AAs.  I think those who have tried to make
> a complete library-replacement for AAs have found this out.
> 
> The best path to resolution I think is:
> 
> 1. make a complete replacement for AAs that can be instantiated and
> operate without mapping to the AA syntax.  It may not build, but it should
> be written and bugs against the compiler filed.
> 2. Fix all bugs to make 1. compile/possible
> 3. Switch compiler to use type in 1. whenever AA's are used.
> 
> I believe some have made a very good attempt to do 1 (H.S. Teoh I think?
> maybe someone else)

Yeah. He was working on it and seems to have pretty much decided that the job 
is too big for one man (and/or that he doesn't have enough time). I believe 
that there was a post on D.Learn a few months back where you pointed to where 
he had his changes thus far (so that others could look at it and potentially 
continue his work), but AFAIK, he's given up on the whole thing for now.

- Jonathan M Davis


More information about the Digitalmars-d-announce mailing list