Steven Schveighoffer wrote:
what needs to be done:
1. Make Tango build on top of druntime. I just merged from trunk
yesterday, which was about 300 files, so most likely there will be
compile issues ;)
2. Const-ify everything. Some parts are already done.
3. Make all opApply's scoped properly.
Not sure what happens after that, but step 2 alone is a ton of work. In
addition, there are some blocker bugs in DMD (1645 and 2524 right now)
that prevent a complete port.
When the shared/unshared paradigm is released, there's probably another
ton of work to do :)
You can already used shared/unshared. The semantics aren't implemented,
but the type system support for it is.
And of course, there's the possibility of redesigns. A lot of code can
probably make use of __traits and there are the new range constructs to
consider. Of course, these are all probably things that would be
severely different from the D1 version, so they probably won't happen
for a while.
Note that the September or later date is based on the amount of time I
spend on it (which isn't a lot). Someone who wanted to do nothing but
porting Tango to D2 could probably get it done in a month or two. Note
also that I don't consider the port done until all the "cast to get it
to compile" hacks are removed. In some cases, this requires design
changes, and in some of those, tough decisions.
-Steve