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.