On Saturday, July 06, 2013 01:03:01 Jonathan M Davis wrote: > The main one that's changed is pure. TDPL basically describes strong purity, > whereas we now also have weak purity.
However, we may end up with a few more changes to it within the next few months, depending on how quickly we resolve some of our outstanding issues. 1. If we ever manage to remove toString, toHash, opEquals, and opCmp from Object like we decided to do, there will be a few more things in TDPL which will be wrong. 2. @property still needs to be sorted out, and we don't know quite what properties are going to look like when we're done. 3. As I mentioned, shared still needs to be sorted out. 4. We might be changing it so that member functions are virtual by default (Walter seems to have been recently convinced that this would be the right thing to do, but AFAIK, he never decided that we were definitely going to do it). And that would invalidate parts of TDPL. 5. It looks like we're not going to be doing anything with ref which would make it contradict TDPL, but there's still some debate as to what exactly we're going to do with ref and @safe (Walter has a solution, but some people object to it). And that may have an effect on the auto ref issue. There are probably others as well, but we do risk making some changes in the near future in order to resolve some longstanding issues, and some of them would make TDPL less accurate. Thus far though, most of the changes post-TDPL have been purely additive and don't contradict it at all. > The main two that simply haven't yet been implemented as described are Ah, there's also auto ref. The way TDPL describes it, it should work on the parameters of non-templated functions as well as templated ones, but it has yet to be implemented that way. And there's some debate as to what to do about that. And I'm not sure if the stuff with private and interfaces that TDPL describes has been implemented yet. So, that might increase the number of not fully implemented items. - Jonathan M Davis