Re: Current version of D.

2013-07-14 Thread Rob T

On Saturday, 13 July 2013 at 15:20:44 UTC, Russel Winder wrote:

Well most people use X.Y.Z-alpha-N for bleeding edge releases,
X.Y.Z-beta-N for getting close to a release, X.Y.Z-RC-N for 
actual
release candidates, the last of which becomes the release 
simply by

relabelling to X.Y.Z without any other change.


Hopefully one day we'll see something like that with D releases.

--rt


Re: Current version of D.

2013-07-13 Thread Russel Winder
On Wed, 2013-07-10 at 00:34 +0200, Rob T wrote:
[…]
> Agreed, however we should also have a pre-release package for 
> testing that is clearly marked as a pre-release, it can go on a 
> separate web page to avoid any possibility of confusion.
[…]

Well most people use X.Y.Z-alpha-N for bleeding edge releases,
X.Y.Z-beta-N for getting close to a release, X.Y.Z-RC-N for actual
release candidates, the last of which becomes the release simply by
relabelling to X.Y.Z without any other change.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: Current version of D.

2013-07-10 Thread Andrei Alexandrescu

On 7/10/13 11:27 AM, Rob T wrote:

On Wednesday, 10 July 2013 at 04:15:12 UTC, Kapps wrote:

The download page has the wrong link, it doesn't seem to have been
updated for 2.063.2. Can just manually add a .2 at the end, such as
http://downloads.dlang.org/releases/2013/dmd.2.063.2.zip


Thanks, that worked.

Yup the download page needs to be fixed asap.

--rt


Fixed and synced: 
https://github.com/D-Programming-Language/dlang.org/commit/a5ecc6be856fe203e619fe59f96cc5ad2c844c3a


Andrei


Re: Current version of D.

2013-07-10 Thread Rob T

On Wednesday, 10 July 2013 at 04:15:12 UTC, Kapps wrote:
The download page has the wrong link, it doesn't seem to have 
been updated for 2.063.2. Can just manually add a .2 at the 
end, such as 
http://downloads.dlang.org/releases/2013/dmd.2.063.2.zip


Thanks, that worked.

Yup the download page needs to be fixed asap.

--rt


Re: Current version of D.

2013-07-09 Thread H. S. Teoh
On Wed, Jul 10, 2013 at 06:15:08AM +0200, Kapps wrote:
[...]
> The download page has the wrong link, it doesn't seem to have been
> updated for 2.063.2. Can just manually add a .2 at the end, such as
> http://downloads.dlang.org/releases/2013/dmd.2.063.2.zip

This sounds pretty serious. Can somebody who has access please fix this
ASAP? We don't want our users to think they're getting 2.063.2 but
actually it's still 2.063.


T

-- 
They say that "guns don't kill people, people kill people." Well I think
the gun helps. If you just stood there and yelled BANG, I don't think
you'd kill too many people. -- Eddie Izzard, Dressed to Kill


Re: Current version of D.

2013-07-09 Thread Kapps

On Tuesday, 9 July 2013 at 22:53:08 UTC, Rob T wrote:


I did a full removal, and install of latest version as of today 
downloaded from here: http://dlang.org/download.html


dmd_2.063-0_amd64.deb

The version on download page is showing 2.063-0, and so does 
the deb file name, and also the installation process shows 
2.063-0 was installed.


Running compiler shows

DMD64 D Compiler v2.063

Something has gone wrong somewhere.

--rt


The download page has the wrong link, it doesn't seem to have 
been updated for 2.063.2. Can just manually add a .2 at the end, 
such as http://downloads.dlang.org/releases/2013/dmd.2.063.2.zip


Re: Current version of D.

2013-07-09 Thread Rob T

On Tuesday, 9 July 2013 at 22:46:36 UTC, Tyro[17] wrote:

On 7/9/13 6:36 PM, Rob T wrote:

On Tuesday, 9 July 2013 at 22:34:18 UTC, Rob T wrote:



Agreed, however we should also have a pre-release package for 
testing
that is clearly marked as a pre-release, it can go on a 
separate web

page to avoid any possibility of confusion.

The current release is showing as both 2.63.0 and 2.63 but I 
thought
it was supposed to be 2.63.2 everywhere. This is very 
confusing.


--rt


Running latest release shows this ...

DMD64 D Compiler v2.063

It should show the full release number.

--rt


This is what the latest release shows for me:

Andrews-MacBook-Pro:vapor andrewedwards$ dmd
DMD64 D Compiler v2.063.2
Copyright (c) 1999-2013 by Digital Mars written by Walter Bright
Documentation: http://dlang.org/

Are you actually using the latest release?


I did a full removal, and install of latest version as of today 
downloaded from here: http://dlang.org/download.html


dmd_2.063-0_amd64.deb

The version on download page is showing 2.063-0, and so does the 
deb file name, and also the installation process shows 2.063-0 
was installed.


Running compiler shows

DMD64 D Compiler v2.063

Something has gone wrong somewhere.

--rt


Re: Current version of D.

2013-07-09 Thread Tyro[17]

On 7/9/13 6:36 PM, Rob T wrote:

On Tuesday, 9 July 2013 at 22:34:18 UTC, Rob T wrote:



Agreed, however we should also have a pre-release package for testing
that is clearly marked as a pre-release, it can go on a separate web
page to avoid any possibility of confusion.

The current release is showing as both 2.63.0 and 2.63 but I thought
it was supposed to be 2.63.2 everywhere. This is very confusing.

--rt


Running latest release shows this ...

DMD64 D Compiler v2.063

It should show the full release number.

--rt


This is what the latest release shows for me:

Andrews-MacBook-Pro:vapor andrewedwards$ dmd
DMD64 D Compiler v2.063.2
Copyright (c) 1999-2013 by Digital Mars written by Walter Bright
Documentation: http://dlang.org/

Are you actually using the latest release?


Re: Current version of D.

2013-07-09 Thread Rob T

On Tuesday, 9 July 2013 at 22:34:18 UTC, Rob T wrote:



Agreed, however we should also have a pre-release package for 
testing that is clearly marked as a pre-release, it can go on a 
separate web page to avoid any possibility of confusion.


The current release is showing as both 2.63.0 and 2.63 but I 
thought it was supposed to be 2.63.2 everywhere. This is very 
confusing.


--rt


Running latest release shows this ...

DMD64 D Compiler v2.063

It should show the full release number.

--rt


Re: Current version of D.

2013-07-09 Thread Rob T

On Sunday, 7 July 2013 at 07:36:41 UTC, Russel Winder wrote:

On Sat, 2013-07-06 at 15:24 +0200, mike james wrote:
> The current release is 2.063.2, but it's the first time that 
> we've actually
> released point releases like that, so there are likely to be 
> places saying

> 2.063 instead of 2.063.2.

Maybe it's time to make the odd-numbered releases the work in 
progress releases and the even-numbered releases the official 
releases?


Everyone, cf. Linux, who used to operate such a strategy has now
stopped. A release is a release and should be releasable. 
Finding
problems in a release is natural which is why the maj.min.bug 
release
numbering is so popular. The issue here is that the releases 
should be
numbered this way always so as to make a monotonic increasing 
sequence.


Thus 2.063 should have been numbered 2.63.0.


Agreed, however we should also have a pre-release package for 
testing that is clearly marked as a pre-release, it can go on a 
separate web page to avoid any possibility of confusion.


The current release is showing as both 2.63.0 and 2.63 but I 
thought it was supposed to be 2.63.2 everywhere. This is very 
confusing.


--rt


Re: Current version of D.

2013-07-07 Thread Russel Winder
On Sat, 2013-07-06 at 15:24 +0200, mike james wrote:
> > The current release is 2.063.2, but it's the first time that 
> > we've actually
> > released point releases like that, so there are likely to be 
> > places saying
> > 2.063 instead of 2.063.2.
> 
> Maybe it's time to make the odd-numbered releases the work in 
> progress releases and the even-numbered releases the official 
> releases?

Everyone, cf. Linux, who used to operate such a strategy has now
stopped. A release is a release and should be releasable. Finding
problems in a release is natural which is why the maj.min.bug release
numbering is so popular. The issue here is that the releases should be
numbered this way always so as to make a monotonic increasing sequence.

Thus 2.063 should have been numbered 2.63.0.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: Current version of D.

2013-07-06 Thread Dicebot

On Saturday, 6 July 2013 at 13:36:41 UTC, mike james wrote:
So you can keep track of the interim releases. Some people like 
to get their releases from the D website as an install and not 
from git-hub.


Released content does not differ from repository one. It only 
means that exactly this state was tested and expected to work. 
Unreasonable preferences are not worth extra useless work.


Re: Current version of D.

2013-07-06 Thread mike james

On Saturday, 6 July 2013 at 13:26:38 UTC, Dicebot wrote:

On Saturday, 6 July 2013 at 13:24:06 UTC, mike james wrote:
Maybe it's time to make the odd-numbered releases the work in 
progress releases and the even-numbered releases the official 
releases?


What is the point? All releases are official releases, "work in 
progress" == git master.


So you can keep track of the interim releases. Some people like 
to get their releases from the D website as an install and not 
from git-hub.


Re: Current version of D.

2013-07-06 Thread Dicebot

On Saturday, 6 July 2013 at 13:24:06 UTC, mike james wrote:
Maybe it's time to make the odd-numbered releases the work in 
progress releases and the even-numbered releases the official 
releases?


What is the point? All releases are official releases, "work in 
progress" == git master.


Re: Current version of D.

2013-07-06 Thread mike james
The current release is 2.063.2, but it's the first time that 
we've actually
released point releases like that, so there are likely to be 
places saying

2.063 instead of 2.063.2.


Maybe it's time to make the odd-numbered releases the work in 
progress releases and the even-numbered releases the official 
releases?


--


Re: Current version of D.

2013-07-06 Thread TommiT

On Saturday, 6 July 2013 at 09:58:25 UTC, Jonathan M Davis wrote:

On Saturday, July 06, 2013 11:44:43 TommiT wrote:
On Saturday, 6 July 2013 at 08:14:06 UTC, Jonathan M Davis 
wrote:
> 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.

TDPL doesn't mention auto ref at all (not even as a function
return type). The spec talks about auto ref as both function
return type and parameter type for function templates.


Really? Are you sure?


Yep, 100% sure.


Re: Current version of D.

2013-07-06 Thread Jonathan M Davis
On Saturday, July 06, 2013 11:56:43 Namespace wrote:
> > 4. We might be changing it so that member functions are virtual
> > by default
> 
> You mean final by default, don't you? AFAIK they are currently
> virtual by default.

Yeah. I mean changed to non-virtual / final by default. I mistyped.

- Jonathan M Davis


Re: Current version of D.

2013-07-06 Thread Namespace
4. We might be changing it so that member functions are virtual 
by default


You mean final by default, don't you? AFAIK they are currently 
virtual by default.


Re: Current version of D.

2013-07-06 Thread Jonathan M Davis
On Saturday, July 06, 2013 11:44:43 TommiT wrote:
> On Saturday, 6 July 2013 at 08:14:06 UTC, Jonathan M Davis wrote:
> > 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.
> 
> TDPL doesn't mention auto ref at all (not even as a function
> return type). The spec talks about auto ref as both function
> return type and parameter type for function templates.

Really? Are you sure? I was certain that it did. But it's been a while now 
since I read it, so I'm not necessarily as clear on what's in it as I used to 
be. I should probably reread it one of these days, but I don't really have 
time right now.

> So, it
> seems auto ref as parameter for regular functions doesn't seem to
> documented anywhere (which is good if it's not ready yet).

I know that the original proposal for auto ref was not specifically for 
templated functions but that Walter misunderstood what Andrei had meant and 
just implemented them for templated functions (and the implementation used for 
templated functions wouldn't work with  non-templated ones). It would be 
trivial to implement auto ref for non-templated functions, and I think that 
there's a good chance that we will, but there's a some debate over that, 
primarily because some people think that the term "auto ref" doesn't make 
sense with what a non-templated function would have to do (which would be to 
be ref underneath the hood and then assigne rvalues to lvalues on the stack so 
that they could be passed to the function by ref).

- Jonathan M Davis


Re: Current version of D.

2013-07-06 Thread TommiT

On Saturday, 6 July 2013 at 08:14:06 UTC, Jonathan M Davis wrote:
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.


TDPL doesn't mention auto ref at all (not even as a function 
return type). The spec talks about auto ref as both function 
return type and parameter type for function templates. So, it 
seems auto ref as parameter for regular functions doesn't seem to 
documented anywhere (which is good if it's not ready yet).


Re: Current version of D.

2013-07-06 Thread Jonathan M Davis
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


Re: Current version of D.

2013-07-06 Thread Jonathan M Davis
On Saturday, July 06, 2013 09:43:24 TommiT wrote:
> On Saturday, 6 July 2013 at 07:18:03 UTC, Jonathan M Davis wrote:
> > On Saturday, July 06, 2013 09:12:55 Joseph Rushton Wakeling
> > 
> > wrote:
> >> Are the differences from TDPL documented anywhere?
> > 
> > Not that I'm aware of. And I'd have to read it again to compile
> > a full list, though I could probably come up with most of them
> > off the top of my head.
> > 
> > - Jonathan M Davis
> 
> I read TDPL again quite recently. And although it's missing a
> bunch of language features and there's a bunch of typos, I can't
> think of any language feature mentioned there that's changed
> since then (and I probably just don't know about it). So, I'd be
> interested in seeing that list.

The main one that's changed is pure. TDPL basically describes strong purity, 
whereas we now also have weak purity.

The main two that simply haven't yet been implemented as described are 
multiple alias this-es, and synchronized classes.

Some of what TDPL says about shared is wrong (e.g. about it adding write 
barriers), but exactly what we're going to do about shared at this point is up 
for debate. We need it, and we're going to have it, but some of the details 
need to be further ironed out (e.g. it's unlikely that it'll ever have write 
barriers, because that would be too expensive and IIRC isn't even portable 
outside of x86/x86_64). As part of that, synchronized may or may not end up 
quite as described in TDPL.

Beyond that, I'd probably have to re-read the book. I don't think that there 
are any other major differences, but there may be some minor ones. Most of 
those should have been caught by the errata though.

- Jonathan M Davis


Re: Current version of D.

2013-07-06 Thread monarch_dodra

On Saturday, 6 July 2013 at 07:18:03 UTC, Jonathan M Davis wrote:
On Saturday, July 06, 2013 09:12:55 Joseph Rushton Wakeling 
wrote:

Are the differences from TDPL documented anywhere?


Not that I'm aware of. And I'd have to read it again to compile 
a full list,
though I could probably come up with most of them off the top 
of my head.


- Jonathan M Davis


Depends what you mean by "the differences"? In any case, there is 
an erratum available:

http://erdani.com/tdpl/errata/

Any piece of code that doesn't compile, chances are there is a 
correction here.


Re: Current version of D.

2013-07-06 Thread TommiT

On Saturday, 6 July 2013 at 07:18:03 UTC, Jonathan M Davis wrote:
On Saturday, July 06, 2013 09:12:55 Joseph Rushton Wakeling 
wrote:

Are the differences from TDPL documented anywhere?


Not that I'm aware of. And I'd have to read it again to compile 
a full list, though I could probably come up with most of them

off the top of my head.

- Jonathan M Davis


I read TDPL again quite recently. And although it's missing a 
bunch of language features and there's a bunch of typos, I can't 
think of any language feature mentioned there that's changed 
since then (and I probably just don't know about it). So, I'd be 
interested in seeing that list.


Re: Current version of D.

2013-07-06 Thread Jonathan M Davis
On Saturday, July 06, 2013 09:12:55 Joseph Rushton Wakeling wrote:
> Are the differences from TDPL documented anywhere?

Not that I'm aware of. And I'd have to read it again to compile a full list, 
though I could probably come up with most of them off the top of my head.

- Jonathan M Davis


Re: Current version of D.

2013-07-06 Thread Joseph Rushton Wakeling

On Saturday, 6 July 2013 at 01:30:49 UTC, Jonathan M Davis wrote:
No, but what's there is mostly correct. There are a few things 
that aren't yet
implemented quite as described in TDPL (e.g. we don't have 
multiple alias
this-es yet, and synchronized still is at a function-level 
instead of at a
class level like TDPL describes), and there are probably a 
couple of things
that have changed since the book was released (e.g. the book 
describes
strongly pure functions, but we now also have weakly pure 
functions), but it's
almost all correct. So, while I'm sure that there will be a new 
edition
eventually, there's not a lot of point in releasing another one 
at this point.



Are the differences from TDPL documented anywhere? Might be worth 
having a page on the wiki or the main website.


Re: Current version of D.

2013-07-05 Thread Jonathan M Davis
On Saturday, July 06, 2013 03:22:57 Caitlin wrote:
> Hi all.
> 
> I recently downloaded and installed version 2.063.2, but now I
> see the current version is listed as 2.063. Is this is an error?

The current release is 2.063.2, but it's the first time that we've actually 
released point releases like that, so there are likely to be places saying 
2.063 instead of 2.063.2.

> Also, does anyone know if a new edition of "The D Programming
> Language" is planned in the relatively near future?

No, but what's there is mostly correct. There are a few things that aren't yet 
implemented quite as described in TDPL (e.g. we don't have multiple alias 
this-es yet, and synchronized still is at a function-level instead of at a 
class level like TDPL describes), and there are probably a couple of things 
that have changed since the book was released (e.g. the book describes 
strongly pure functions, but we now also have weakly pure functions), but it's 
almost all correct. So, while I'm sure that there will be a new edition 
eventually, there's not a lot of point in releasing another one at this point.

- Jonathan M Davis