digitalmars.D - Current version of D.
- Caitlin (7/7) Jul 05 2013 Hi all.
- Jonathan M Davis (13/19) Jul 05 2013 The current release is 2.063.2, but it's the first time that we've actua...
- Joseph Rushton Wakeling (3/19) Jul 06 2013 Are the differences from TDPL documented anywhere? Might be worth
- Jonathan M Davis (4/5) Jul 06 2013 Not that I'm aware of. And I'd have to read it again to compile a full l...
- TommiT (6/13) Jul 06 2013 I read TDPL again quite recently. And although it's missing a
- Jonathan M Davis (16/33) Jul 06 2013 The main one that's changed is pure. TDPL basically describes strong pur...
- Jonathan M Davis (29/32) Jul 06 2013 However, we may end up with a few more changes to it within the next few...
- TommiT (6/13) Jul 06 2013 TDPL doesn't mention auto ref at all (not even as a function
- Jonathan M Davis (16/31) Jul 06 2013 Really? Are you sure? I was certain that it did. But it's been a while n...
- TommiT (2/18) Jul 06 2013 Yep, 100% sure.
- Namespace (2/4) Jul 06 2013 You mean final by default, don't you? AFAIK they are currently
- Jonathan M Davis (3/8) Jul 06 2013 Yeah. I mean changed to non-virtual / final by default. I mistyped.
- monarch_dodra (6/14) Jul 06 2013 Depends what you mean by "the differences"? In any case, there is
- mike james (4/9) Jul 06 2013 Maybe it's time to make the odd-numbered releases the work in
- Dicebot (3/6) Jul 06 2013 What is the point? All releases are official releases, "work in
- mike james (4/10) Jul 06 2013 So you can keep track of the interim releases. Some people like
- Dicebot (4/7) Jul 06 2013 Released content does not differ from repository one. It only
- Russel Winder (17/26) Jul 07 2013 Everyone, cf. Linux, who used to operate such a strategy has now
- Rob T (8/28) Jul 09 2013 Agreed, however we should also have a pre-release package for
- Rob T (5/12) Jul 09 2013 Running latest release shows this ...
- Tyro[17] (7/21) Jul 09 2013 This is what the latest release shows for me:
- Rob T (11/41) Jul 09 2013 I did a full removal, and install of latest version as of today
- Kapps (4/14) Jul 09 2013 The download page has the wrong link, it doesn't seem to have
- H. S. Teoh (10/13) Jul 09 2013 This sounds pretty serious. Can somebody who has access please fix this
- Rob T (4/8) Jul 10 2013 Thanks, that worked.
- Andrei Alexandrescu (4/11) Jul 10 2013 Fixed and synced:
- Russel Winder (17/20) Jul 13 2013 [=E2=80=A6]
- Rob T (3/9) Jul 14 2013 Hopefully one day we'll see something like that with D releases.
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? Also, does anyone know if a new edition of "The D Programming Language" is planned in the relatively near future? Thanks, Caitlin
Jul 05 2013
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
Jul 05 2013
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.
Jul 06 2013
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
Jul 06 2013
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: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.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
Jul 06 2013
On Saturday, July 06, 2013 09:43:24 TommiT wrote:On Saturday, 6 July 2013 at 07:18:03 UTC, Jonathan M Davis wrote: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 DavisOn Saturday, July 06, 2013 09:12:55 Joseph Rushton Wakeling wrote: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.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
Jul 06 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 areAh, 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
Jul 06 2013
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).
Jul 06 2013
On Saturday, July 06, 2013 11:44:43 TommiT wrote:On Saturday, 6 July 2013 at 08:14:06 UTC, Jonathan M Davis wrote: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.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).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
Jul 06 2013
On Saturday, 6 July 2013 at 09:58:25 UTC, Jonathan M Davis wrote:On Saturday, July 06, 2013 11:44:43 TommiT wrote:Yep, 100% sure.On Saturday, 6 July 2013 at 08:14:06 UTC, Jonathan M Davis wrote:Really? Are you sure?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.
Jul 06 2013
4. We might be changing it so that member functions are virtual by defaultYou mean final by default, don't you? AFAIK they are currently virtual by default.
Jul 06 2013
On Saturday, July 06, 2013 11:56:43 Namespace wrote:Yeah. I mean changed to non-virtual / final by default. I mistyped. - Jonathan M Davis4. We might be changing it so that member functions are virtual by defaultYou mean final by default, don't you? AFAIK they are currently virtual by default.
Jul 06 2013
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: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.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
Jul 06 2013
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? -<mike>-
Jul 06 2013
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.
Jul 06 2013
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: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.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.
Jul 06 2013
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.
Jul 06 2013
On Sat, 2013-07-06 at 15:24 +0200, mike james wrote: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. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winderThe current release is 2.063.2, but it's the first time that=20 we've actually released point releases like that, so there are likely to be=20 places saying 2.063 instead of 2.063.2.=20 Maybe it's time to make the odd-numbered releases the work in=20 progress releases and the even-numbered releases the official=20 releases?
Jul 07 2013
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: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. --rtEveryone, 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.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?
Jul 09 2013
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. --rtRunning latest release shows this ... DMD64 D Compiler v2.063 It should show the full release number. --rt
Jul 09 2013
On 7/9/13 6:36 PM, Rob T wrote:On Tuesday, 9 July 2013 at 22:34:18 UTC, Rob T wrote: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?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. --rtRunning latest release shows this ... DMD64 D Compiler v2.063 It should show the full release number. --rt
Jul 09 2013
On Tuesday, 9 July 2013 at 22:46:36 UTC, Tyro[17] wrote:On 7/9/13 6:36 PM, 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. --rtOn Tuesday, 9 July 2013 at 22:34:18 UTC, Rob T wrote: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?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. --rtRunning latest release shows this ... DMD64 D Compiler v2.063 It should show the full release number. --rt
Jul 09 2013
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. --rtThe 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
Jul 09 2013
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.zipThis 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
Jul 09 2013
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.zipThanks, that worked. Yup the download page needs to be fixed asap. --rt
Jul 10 2013
On 7/10/13 11:27 AM, Rob T wrote:On Wednesday, 10 July 2013 at 04:15:12 UTC, Kapps wrote:Fixed and synced: https://github.com/D-Programming-Language/dlang.org/commit/a5ecc6be856fe203e619fe59f96cc5ad2c844c3a AndreiThe 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.zipThanks, that worked. Yup the download page needs to be fixed asap. --rt
Jul 10 2013
On Wed, 2013-07-10 at 00:34 +0200, Rob T wrote: [=E2=80=A6]Agreed, however we should also have a pre-release package for=20 testing that is clearly marked as a pre-release, it can go on a=20 separate web page to avoid any possibility of confusion.[=E2=80=A6] 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. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jul 13 2013
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
Jul 14 2013