On Thursday, 23 May 2013 at 13:40:44 UTC, H. S. Teoh wrote:
On Thu, May 23, 2013 at 11:35:36AM +0200, Dicebot wrote:
On Thursday, 23 May 2013 at 09:30:51 UTC, David wrote:
>...

Problem has been mentioned here :
http://wiki.dlang.org/AA_Implementation_Issues

I looked over this page again today, and I'm wondering if perhaps instead of balking at the sheer immensity of the task of overhauling AA's, we could begin to chip away at some things that will eventually
ease the task.

The biggest problem currently is the compiler magic sprinkled throughout the DMD code that generates AA-related code. Perhaps, instead of waiting
until the new AA code is ready, we can begin by going over all
AA-related code in DMD, and cleaning them up so that they interface with aaA.d only via the AssociativeArray(K,V) template. The idea is to make the DMD code cleaner while still using the current AA implementation, but to move away from hardcoded dependencies on aaA.d so that eventually we can just make the new AA implementation a drop-in replacement. Doing this now instead of waiting for the new implementation to be ready allows us to ensure no bugs are introduced by the decoupling of DMD from
aaA.d.

Since we're reviewing all DMD code right now anyway, to make it
compatible with the C++ to D convertor, this might be a good time to
look at all the places that depend on aaA.d and clean them up.


T

Incremental sounds like the right approach. The problems you experienced in your earlier attempt sounded too daunting to do it in one fell swoop.

Reply via email to