Current version of D.

Jonathan M Davis jmdavisProg at gmx.com
Sat Jul 6 01:13:48 PDT 2013


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


More information about the Digitalmars-d mailing list