www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Release D 2.069.0

reply Martin Nowak <code+news.digitalmars dawg.eu> writes:
Glad to announce D 2.069.0.

http://dlang.org/download.html
http://downloads.dlang.org/releases/2.x/2.069.0/

This is the first release with a self-hosted dmd compiler and comes with
even more rangified phobos functions, std.experimental.allocator, and
many other improvements.

See the changelog for more details.
http://dlang.org/changelog/2.069.0.html

-Martin
Nov 03 2015
next sibling parent Joakim <dlang joakim.fea.st> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Whoo, ddmd is out! Congrats to Daniel and everyone else involved.
Nov 03 2015
prev sibling next sibling parent Jack Stouffer <jack jackstouffer.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
https://www.reddit.com/r/programming/comments/3rg17h/d_2069_has_been_released_basic_support_for/
Nov 03 2015
prev sibling next sibling parent BBasile <bb.temp gmx.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Thx.
Nov 03 2015
prev sibling next sibling parent deadalnix <deadalnix gmail.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Yeahhhhhh !
Nov 03 2015
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 11/3/2015 5:49 PM, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and comes with
 even more rangified phobos functions, std.experimental.allocator, and
 many other improvements.

 See the changelog for more details.
 http://dlang.org/changelog/2.069.0.html

 -Martin
Thank you, Martin, for the hard work you did to prepare and shepherd DMD through the release process!
Nov 03 2015
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 11/3/2015 5:49 PM, Martin Nowak wrote:
 Glad to announce D 2.069.0.
Thanks to everyone involved with this - and special mention for Daniel Murphy who did the remarkable job of translating the C++ code to D .
Nov 03 2015
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2015-11-04 02:49, Martin Nowak wrote:
 Glad to announce D 2.069.0.
A bit of self promotion: this is the first release with basic support for Objective-C [1]. Many thanks to Michel Fortin that did the original implementation. [1] http://dlang.org/changelog/2.069.0.html#objective-c-support -- /Jacob Carlborg
Nov 03 2015
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 11/3/2015 11:12 PM, Jacob Carlborg wrote:
 On 2015-11-04 02:49, Martin Nowak wrote:
 Glad to announce D 2.069.0.
A bit of self promotion: this is the first release with basic support for Objective-C [1]. Many thanks to Michel Fortin that did the original implementation. [1] http://dlang.org/changelog/2.069.0.html#objective-c-support
There's much discussion on that feature on reddit. https://www.reddit.com/r/programming/comments/3rg17h/d_2069_has_been_released_basic_support_for/
Nov 04 2015
parent Jacob Carlborg <doob me.com> writes:
On 2015-11-04 11:07, Walter Bright wrote:

 There's much discussion on that feature on reddit.

 https://www.reddit.com/r/programming/comments/3rg17h/d_2069_has_been_released_basic_support_for/
Cool :) -- /Jacob Carlborg
Nov 04 2015
prev sibling next sibling parent reply Mike James <foo bar.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Hi. There seems to be an install problem with the .exe version for Windows. The installer removes the old DMD then doesn't install the 2.069.0 version. In the task manager it's still running at 50% CPU time. It fails on Windows Vista and Windows 7. Regards, -<mike>-
Nov 04 2015
next sibling parent reply Suliman <evermind live.ru> writes:
 There seems to be an install problem with the .exe version for 
 Windows. The installer removes the old DMD then doesn't install 
 the 2.069.0 version. In the task manager it's still running at 
 50% CPU time. It fails on Windows Vista and Windows 7.

 Regards,
 -<mike>-
Same problem.
Nov 04 2015
parent reply Martin Nowak <code+news.digitalmars dawg.eu> writes:
On 11/04/2015 10:01 AM, Suliman wrote:
 Regards,
 -<mike>-
Same problem.
It's likely related to this fix which now let's the installer wait on the uninstaller to finish. https://github.com/D-Programming-Language/installer/commit/526f35495cdc615b26b65d73fa7b4aa0477b1d12 Did anything go wrong with the uninstall?
Nov 04 2015
parent Martin Nowak <code+news.digitalmars dawg.eu> writes:
On 11/04/2015 11:58 AM, Martin Nowak wrote:
 Did anything go wrong with the uninstall?
Let continue here https://issues.dlang.org/show_bug.cgi?id=15284
Nov 04 2015
prev sibling parent Dmitry <dmitry indiedev.ru> writes:
On Wednesday, 4 November 2015 at 08:29:22 UTC, Mike James wrote:
 There seems to be an install problem with the .exe version for 
 Windows. The installer removes the old DMD then doesn't install 
 the 2.069.0 version. In the task manager it's still running at 
 50% CPU time. It fails on Windows Vista and Windows 7.
I don't have this problem - installed without any problems. (Windows 7 x64)
Nov 04 2015
prev sibling next sibling parent reply deadalnix <deadalnix gmail.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Bonus question: how soon can we expect travis to pick up the new version ?
Nov 04 2015
parent Martin Nowak <code+news.digitalmars dawg.eu> writes:
On 11/04/2015 10:01 AM, deadalnix wrote:
 
 Bonus question: how soon can we expect travis to pick up the new version ?
I updated http://ftp.digitalmars.com/LATEST now and added that step to http://wiki.dlang.org/DMD_Release_Building.
Nov 04 2015
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 11/4/15 2:49 AM, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and comes with
 even more rangified phobos functions, std.experimental.allocator, and
 many other improvements.

 See the changelog for more details.
 http://dlang.org/changelog/2.069.0.html
Fantastic, thanks all! More media: https://www.facebook.com/dlang.org/posts/1164146430265703 https://twitter.com/D_Programming/status/661839363677036544 Andrei
Nov 04 2015
parent Walter Bright <newshound2 digitalmars.com> writes:
On 11/4/2015 1:38 AM, Andrei Alexandrescu wrote:
 On 11/4/15 2:49 AM, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and comes with
 even more rangified phobos functions, std.experimental.allocator, and
 many other improvements.

 See the changelog for more details.
 http://dlang.org/changelog/2.069.0.html
Fantastic, thanks all! More media: https://www.facebook.com/dlang.org/posts/1164146430265703 https://twitter.com/D_Programming/status/661839363677036544
It's also on hacker news. https://news.ycombinator.com/newest
Nov 04 2015
prev sibling next sibling parent HaraldZealot <harald_zealot tut.by> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 ...

 -Martin
Congratulations!!!
Nov 04 2015
prev sibling next sibling parent wobbles <grogan.colin gmail.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Great stuff! Thanks. In my (very) limited trial run - I don't notice much of a performance difference. Is there any numbers to compare 2069 with 2068 (and maybe even older)?
Nov 04 2015
prev sibling next sibling parent Andrea Fontana <nospam example.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/
Same question I did some time ago: is those binaries compiled with 2.068 or 2.069 itself? The second choice should be the right one. Andrea
Nov 04 2015
prev sibling next sibling parent reply =?UTF-8?B?TcOhcmNpbw==?= Martins <marcioapm gmail.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Seems like memory usage went up by a significant amount, as I can no longer compile our project on my Windows machine. DMD 2.068.2 uses up to 1100MB of memory during our build and succeeds DMD 2.069 used up to 1600MB of memory before crashing with "Error: out of memory" Are there any plans to release a dmd64.exe?
Nov 04 2015
next sibling parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins 
wrote:
 Are there any plans to release a dmd64.exe?
I don't think we can even build one any more. Rainer/Martin?
Nov 04 2015
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 04.11.2015 17:19, Vladimir Panteleev wrote:
 On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins wrote:
 Are there any plans to release a dmd64.exe?
I don't think we can even build one any more. Rainer/Martin?
I have created a combination of a VC++ project and a Visual D project to build these. IIRC https://github.com/D-Programming-Language/dmd/pull/5039 is the only blocker, but I haven't tried recently.
Nov 04 2015
prev sibling next sibling parent reply Dmitry Olshansky <dmitry.olsh gmail.com> writes:
On 04-Nov-2015 18:25, Márcio Martins wrote:
 On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and comes
 with even more rangified phobos functions, std.experimental.allocator,
 and many other improvements.

 See the changelog for more details.
 http://dlang.org/changelog/2.069.0.html

 -Martin
Seems like memory usage went up by a significant amount, as I can no longer compile our project on my Windows machine. DMD 2.068.2 uses up to 1100MB of memory during our build and succeeds DMD 2.069 used up to 1600MB of memory before crashing with "Error: out of memory" Are there any plans to release a dmd64.exe?
If host machine is x64 bit windows try setting large address aware bit on the executable (there are tools to do that IRC), would allow it to eat up to ~4 gigs. -- Dmitry Olshansky
Nov 04 2015
next sibling parent reply Martin Nowak <code dawg.eu> writes:
On Wednesday, 4 November 2015 at 17:52:23 UTC, Dmitry Olshansky 
wrote:
 If host machine is x64 bit windows try setting large address 
 aware bit on the executable (there are tools to do that IRC), 
 would allow it to eat up to ~4 gigs.
We're already doing that since quite a while. https://github.com/D-Programming-Language/dmd/commit/172b55d22bd4a144d889c3fa8d9279d8e0a0ce1c
Nov 04 2015
parent =?UTF-8?B?TcOhcmNpbw==?= Martins <marcioapm gmail.com> writes:
On Thursday, 5 November 2015 at 01:08:42 UTC, Martin Nowak wrote:
 On Wednesday, 4 November 2015 at 17:52:23 UTC, Dmitry Olshansky 
 wrote:
 If host machine is x64 bit windows try setting large address 
 aware bit on the executable (there are tools to do that IRC), 
 would allow it to eat up to ~4 gigs.
We're already doing that since quite a while. https://github.com/D-Programming-Language/dmd/commit/172b55d22bd4a144d889c3fa8d9279d8e0a0ce1c
Martin, it seems this is not working. I just had to use editbin manually on my laptop, again.
Nov 23 2015
prev sibling parent reply Sebastiaan Koppe <mail skoppe.eu> writes:
On Wednesday, 4 November 2015 at 17:52:23 UTC, Dmitry Olshansky 
wrote:
 If host machine is x64 bit windows try setting large address 
 aware bit on the executable (there are tools to do that IRC), 
 would allow it to eat up to ~4 gigs.
What can we do when it eats up all 4 gigs? (Windows)
Nov 04 2015
parent reply Jonathan M Davis via Digitalmars-d-announce writes:
On Thursday, November 05, 2015 02:38:01 Sebastiaan Koppe via
Digitalmars-d-announce wrote:
 On Wednesday, 4 November 2015 at 17:52:23 UTC, Dmitry Olshansky
 wrote:
 If host machine is x64 bit windows try setting large address
 aware bit on the executable (there are tools to do that IRC),
 would allow it to eat up to ~4 gigs.
What can we do when it eats up all 4 gigs? (Windows)
With any program, if you're hitting the limit of the 32-bit address space (which is actually more like 3.6 GiB than 4), then you really only have two options - use less memory or go to 64-bit. In the case of dmd specifically, that means either reducing how much memory dmd consumes (which would mean improvements to the dmd codebase), have a 64-bit build of dmd (I have no idea what's involved with that, though it sounds like it's been done before), or you have to build your program in separate pieces that each require a low enough amount of memory when compiling that they don't run out of memory. Phobos has been built in pieces for quite a while now specifically because it requires too much memory to build it all at once (std.algorithm alone requires a lot of memory thanks to all of the template instantiations in its unit tests). - Jonathan M Davis
Nov 07 2015
next sibling parent reply Dmitry Olshansky <dmitry.olsh gmail.com> writes:
On 07-Nov-2015 16:25, Jonathan M Davis via Digitalmars-d-announce wrote:
 On Thursday, November 05, 2015 02:38:01 Sebastiaan Koppe via
Digitalmars-d-announce wrote:
 On Wednesday, 4 November 2015 at 17:52:23 UTC, Dmitry Olshansky
 wrote:
 If host machine is x64 bit windows try setting large address
 aware bit on the executable (there are tools to do that IRC),
 would allow it to eat up to ~4 gigs.
What can we do when it eats up all 4 gigs? (Windows)
Getting 64-bit packaged should be simplest thing possible. Ask around on D.learn maybe somebody could either show how to build it manually or at least have done so before. Otherwise - the single biggest problem with memory is CTFE leaking memory like crazy. Second to that is templates. IMHO enabling D's GC in the frontend is better way to fix leaking in the CTFE, but there are some issues with that (it segfaults if we enable GC). Lastly compiler's frontend could use some improvement in general and now that it's written in D and I totally expect better memory management to come soon.
 Phobos has been built in pieces for quite a while now
 specifically because it requires too much memory to build it all at once
 (std.algorithm alone requires a lot of memory thanks to all of the template
 instantiations in its unit tests).
That's only true for unittests, it still builds the library in one go (in about 7 seconds for me) on windows. -- Dmitry Olshansky
Nov 07 2015
next sibling parent Jonathan M Davis via Digitalmars-d-announce writes:
On Saturday, November 07, 2015 17:41:20 Dmitry Olshansky via
Digitalmars-d-announce wrote:
 On 07-Nov-2015 16:25, Jonathan M Davis via Digitalmars-d-announce wrote:
 Phobos has been built in pieces for quite a while now
 specifically because it requires too much memory to build it all at once
 (std.algorithm alone requires a lot of memory thanks to all of the template
 instantiations in its unit tests).
That's only true for unittests, it still builds the library in one go (in about 7 seconds for me) on windows.
Yes, but it's forced to do that with the unit test build, because it takes too much memory to compile them. Other programs may have the same problem (especially if they use templates and CTFE heavily). But dmd just does not do well with memory consumption when it comes to templates and CTFE, and it definitely will be a major improvement when we can reduce how much memory compiling them requires. - Jonathan M Davis
Nov 08 2015
prev sibling parent reply Daniel Murphy <yebbliesnospam gmail.com> writes:
On 8/11/2015 1:41 AM, Dmitry Olshansky wrote:

 IMHO enabling D's GC in the frontend is better way to fix leaking in the
 CTFE, but there are some issues with that (it segfaults if we enable GC).
Actually I think it's fixed now, just disabled. It used to have problems with lib*/scan*, but those are in D now, and most of the allocations from the glue layer are being forwarded to the GC through rmem. If anyone wants to try it they just need to add -version=GC to the DMD build flags and insert this function in root/rmem.d's version(GC) block. extern (C) void* allocmemory(size_t m_size) { return GC.malloc(m_size); }
Nov 08 2015
parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Sunday, 8 November 2015 at 22:45:05 UTC, Daniel Murphy wrote:
 Actually I think it's fixed now, just disabled.

 It used to have problems with lib*/scan*, but those are in D 
 now, and most of the allocations from the glue layer are being 
 forwarded to the GC through rmem.

 If anyone wants to try it they just need to add -version=GC to 
 the DMD build flags and insert this function in root/rmem.d's 
 version(GC) block.


     extern (C) void* allocmemory(size_t m_size)
     {
         return GC.malloc(m_size);
     }
Is there any reason why this isn't currently used in the front end?
Nov 08 2015
parent Daniel Murphy <yebbliesnospam gmail.com> writes:
On 9/11/2015 10:25 AM, Jack Stouffer wrote:

 Is there any reason why this isn't currently used in the front end?
Lack of testing, focus on matching c-dmd performance, it used to be blocked and nobody realized it wasn't any more etc.
Nov 08 2015
prev sibling parent reply Sebastiaan Koppe <mail skoppe.eu> writes:
On Saturday, 7 November 2015 at 13:25:41 UTC, Jonathan M Davis 
wrote:
 What can we do when it eats up all 4 gigs? (Windows)
With any program, if you're hitting the limit of the 32-bit address space (which is actually more like 3.6 GiB than 4), then you really only have two options - use less memory or go to 64-bit. In the case of dmd specifically, that means either reducing how much memory dmd consumes (which would mean improvements to the dmd codebase), have a 64-bit build of dmd (I have no idea what's involved with that, though it sounds like it's been done before), or you have to build your program in separate pieces that each require a low enough amount of memory when compiling that they don't run out of memory. Phobos has been built in pieces for quite a while now specifically because it requires too much memory to build it all at once (std.algorithm alone requires a lot of memory thanks to all of the template instantiations in its unit tests). - Jonathan M Davis
With a codebase like phobos, compiling in several steps isn't a bad solution. But I am building a parser using pegged, and splitting up the grammar into different modules feels like a no-no. It's an option though. Right now I run compile with gdc in a virtual machine. Still eats about 7 gigs. The 64bit dmd would be nice. I waved the idea goodbye when I couldn't find a download link. Maybe need to look into it.
Nov 08 2015
parent reply Dicebot <public dicebot.lv> writes:
On Sunday, 8 November 2015 at 14:14:23 UTC, Sebastiaan Koppe 
wrote:
 With a codebase like phobos, compiling in several steps isn't a 
 bad solution. But I am building a parser using pegged, and 
 splitting up the grammar into different modules feels like a 
 no-no. It's an option though.
Note that you can still used pegged in a stand-alone style with just saving generator output in a separate module and building it with project in a separate step. This means losing one of main advantages compared to using 3d party generators but if you hit the memory limit hard it may be the only option for now.
Nov 08 2015
parent reply Sebastiaan Koppe <mail skoppe.eu> writes:
On Sunday, 8 November 2015 at 14:22:38 UTC, Dicebot wrote:
 On Sunday, 8 November 2015 at 14:14:23 UTC, Sebastiaan Koppe 
 wrote:
 With a codebase like phobos, compiling in several steps isn't 
 a bad solution. But I am building a parser using pegged, and 
 splitting up the grammar into different modules feels like a 
 no-no. It's an option though.
Note that you can still used pegged in a stand-alone style with just saving generator output in a separate module and building it with project in a separate step. This means losing one of main advantages compared to using 3d party generators but if you hit the memory limit hard it may be the only option for now.
You mean instead of mixin(grammer(`...`)) I write the output of grammer(`...`) to a file and include that into the final build? That might be a nice idea once I make a dub package out of it; to presupply the generated parser instead of eating up user's mem. Thanks.
Nov 08 2015
parent reply Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Sunday, 8 November 2015 at 14:37:32 UTC, Sebastiaan Koppe 
wrote:
 You mean instead of mixin(grammer(`...`)) I write the output of 
 grammer(`...`) to a file and include that into the final build?
Yes, use asModule() for that [1]. Not only does it enable using large grammars, it also saves compilation time for builds after the grammar has stabilised. And should the grammar still be too large, it is good to know that Pegged is good at composing a parser from different sub-grammars [2]. So the difficulty is only in finding natural boundaries at which the grammar can be split, making it work should be easy. [1] https://github.com/PhilippeSigaud/Pegged/wiki/Grammars-as-D-Modules [2] https://github.com/PhilippeSigaud/Pegged/wiki/Grammar-Composition
Nov 09 2015
parent Sebastiaan Koppe <mail skoppe.eu> writes:
On Monday, 9 November 2015 at 09:19:11 UTC, Bastiaan Veelo wrote:
 Yes, use asModule() for that [1]. Not only does it enable using 
 large grammars, it also saves compilation time for builds after 
 the grammar has stabilised.
Thanks.
 And should the grammar still be too large, it is good to know 
 that Pegged is good at composing a parser from different 
 sub-grammars [2]. So the difficulty is only in finding natural 
 boundaries at which the grammar can be split, making it work 
 should be easy.
I knew about composition. I just wanted to keep the same names as per the original spec, instead of nesting.
Nov 09 2015
prev sibling parent reply Jean-Yves Vion-Dury <viondury xeroxlabs.com> writes:
On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins 
wrote:
 On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak 
 wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Seems like memory usage went up by a significant amount, as I can no longer compile our project on my Windows machine. DMD 2.068.2 uses up to 1100MB of memory during our build and succeeds DMD 2.069 used up to 1600MB of memory before crashing with "Error: out of memory" Are there any plans to release a dmd64.exe?
FYI, I just installed the 2.069 version, and now I'm unable to compile some modules, getting the same "Error: out of memory". I isolated a tiny one raising the issue, and its all about a moderately complex ctRegex expression (see below) that seems to brake the compiler. Other modules also raise the problem, but they are bigger in term of code lines. So, at a first glance it looks like a deeper problem that just a "higher memory consumption" issue, to me. I'm a bit frustrated, this was working so well so far... auto r=ctRegex!( `\s*(?:` ~ `(?: prefix\s+(?P<prefixDecl>\pL+):\s+<(?P<iri>[^<>\s]+)>\s*\.\s*)|` ~ `(?:(_|\pL+):((?:\pL|[\.\-_0-9])*(?:\pL|\d))\s+(\pL+):((?:\pL|[\.\-_0-9])*(?:\pL|\d))\s+` ~ `(?:(?:(_|\pL+):((?:\pL|[\.\-_0-9])*(?:\pL|\d)))|` ~ `(?:(?:(?:"{3}(?P<literal>.*)"{3})|(?:"(?P<literal>.*)"))` ~ `(?:` ~ `(?: (?P<langTag>[A-Za-z]+(?:\-[A-Za-z0-9]+)*))|` ~ `(?:\^\^(?P<typeTag1>\pL+):(?P<typeTag2>\w+))` ~ `)?` ~ `)` ~ `)\s*` ~ `\.\s*)` ~`)` ); Thank you for any help beyond splitting down the regex above (any magic memory-oriented option somewhere?) ... Jean-Yves PS I would like to take the opportunity to thank all contributors for their great work on D...
Dec 07 2015
parent reply =?UTF-8?B?TcOhcmNpbw==?= Martins <marcioapm gmail.com> writes:
On Monday, 7 December 2015 at 17:06:48 UTC, Jean-Yves Vion-Dury 
wrote:
 On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins 
 wrote:
 [...]
FYI, I just installed the 2.069 version, and now I'm unable to compile some modules, getting the same "Error: out of memory". I isolated a tiny one raising the issue, and its all about a moderately complex ctRegex expression (see below) that seems to brake the compiler. Other modules also raise the problem, but they are bigger in term of code lines. [...]
Windows?
Dec 07 2015
parent reply Jean-Yves Vion-Dury <viondury xeroxlabs.com> writes:
On Monday, 7 December 2015 at 17:32:05 UTC, Márcio Martins wrote:
 On Monday, 7 December 2015 at 17:06:48 UTC, Jean-Yves Vion-Dury 
 wrote:
 On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins 
 wrote:
 [...]
FYI, I just installed the 2.069 version, and now I'm unable to compile some modules, getting the same "Error: out of memory". I isolated a tiny one raising the issue, and its all about a moderately complex ctRegex expression (see below) that seems to brake the compiler. Other modules also raise the problem, but they are bigger in term of code lines. [...]
Windows?
Yes indeed, Windows... is it a problem (the previous version was fine with my environment)?
Dec 08 2015
next sibling parent ZombineDev <valid_email he.re> writes:
On Tuesday, 8 December 2015 at 08:39:26 UTC, Jean-Yves Vion-Dury 
wrote:
 On Monday, 7 December 2015 at 17:32:05 UTC, Márcio Martins 
 wrote:
 On Monday, 7 December 2015 at 17:06:48 UTC, Jean-Yves 
 Vion-Dury wrote:
 On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins 
 wrote:
 [...]
FYI, I just installed the 2.069 version, and now I'm unable to compile some modules, getting the same "Error: out of memory". I isolated a tiny one raising the issue, and its all about a moderately complex ctRegex expression (see below) that seems to brake the compiler. Other modules also raise the problem, but they are bigger in term of code lines. [...]
Windows?
Yes indeed, Windows... is it a problem (the previous version was fine with my environment)?
I guess the issue is that the Windows DMD binary is 32-bit and supports addressing only 2GB (or 4GB if it's Large Address Space aware), whereas on other OSs it's 64-bit by default and doesn't have this limitation. Maybe if you need to keep using Windows your best option is to build a 64-bit DMD yourself. I think the easiest way to do this on Windows is to use Digger: https://github.com/cybershadow/Digger
Dec 08 2015
prev sibling parent reply =?UTF-8?B?TcOhcmNpbw==?= Martins <marcioapm gmail.com> writes:
On Tuesday, 8 December 2015 at 08:39:26 UTC, Jean-Yves Vion-Dury 
wrote:
 On Monday, 7 December 2015 at 17:32:05 UTC, Márcio Martins 
 wrote:
 On Monday, 7 December 2015 at 17:06:48 UTC, Jean-Yves 
 Vion-Dury wrote:
 On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins 
 wrote:
 [...]
FYI, I just installed the 2.069 version, and now I'm unable to compile some modules, getting the same "Error: out of memory". I isolated a tiny one raising the issue, and its all about a moderately complex ctRegex expression (see below) that seems to brake the compiler. Other modules also raise the problem, but they are bigger in term of code lines. [...]
Windows?
Yes indeed, Windows... is it a problem (the previous version was fine with my environment)?
You will need to add the add the LARGEADDRESSAWARE flag to your executable manually. It is supposed to be done automatically, but it is not working currently, so you will have to do it manually... It indeed stopped working since 2.069.0. Unfortunately, it is a royal pain in the anus, because you need to download the WDK. To save you some pain, if you have Windows 10, it's WDK doesn't install property, so you best install WDK 8.1 which works smooth. Perhaps there are some other tools that do it, but I am always reluctant to download these sort of stuff from untrusted sources.
Dec 08 2015
parent reply deadalnix <deadalnix gmail.com> writes:
On Tuesday, 8 December 2015 at 13:14:58 UTC, Márcio Martins wrote:
 On Tuesday, 8 December 2015 at 08:39:26 UTC, Jean-Yves 
 Vion-Dury wrote:
 On Monday, 7 December 2015 at 17:32:05 UTC, Márcio Martins 
 wrote:
 On Monday, 7 December 2015 at 17:06:48 UTC, Jean-Yves 
 Vion-Dury wrote:
 On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio 
 Martins wrote:
 [...]
FYI, I just installed the 2.069 version, and now I'm unable to compile some modules, getting the same "Error: out of memory". I isolated a tiny one raising the issue, and its all about a moderately complex ctRegex expression (see below) that seems to brake the compiler. Other modules also raise the problem, but they are bigger in term of code lines. [...]
Windows?
Yes indeed, Windows... is it a problem (the previous version was fine with my environment)?
You will need to add the add the LARGEADDRESSAWARE flag to your executable manually. It is supposed to be done automatically, but it is not working currently, so you will have to do it manually... It indeed stopped working since 2.069.0. Unfortunately, it is a royal pain in the anus, because you need to download the WDK. To save you some pain, if you have Windows 10, it's WDK doesn't install property, so you best install WDK 8.1 which works smooth. Perhaps there are some other tools that do it, but I am always reluctant to download these sort of stuff from untrusted sources.
That's fucking ridiculous. I'm sorry, but strong word are warranted on that one. Memory consumption have been an issue for a while now. Never freeing and assuming everything will be already to win few ms out of a build is the most ridiculous choice dmd has done. Especially on a 32bits build. Will this problem be taken seriously at some point ?
Dec 08 2015
parent Chris Wright <dhasenan gmail.com> writes:
On Tue, 08 Dec 2015 22:07:15 +0000, deadalnix wrote:

 That's fucking ridiculous.
 
 I'm sorry, but strong word are warranted on that one. Memory consumption
 have been an issue for a while now. Never freeing and assuming
 everything will be already to win few ms out of a build is the most
 ridiculous choice dmd has done.
 
 Especially on a 32bits build.
 
 Will this problem be taken seriously at some point ?
At the time of the C++ to D cutover, DMD did some GC-unsafe things. In the interests of expediency, since the compiler isn't a long-running process, they chose to disable the GC in the interim. While at least some of these GC-unsafe behaviors have been excised, there is lingering concern that some might remain, so nobody has re-enabled the GC. This has been somewhat on the backburner; Windows has typically been of secondary concern to D devs, and Linux has 64-bit builds, so address space exhaustion hasn't been as problematic there. Anyway, this is something that's intended to be fixed, and regular 64-bit Windows builds are something that should happen. It just requires the dev team to have better access to Windows.
Dec 08 2015
prev sibling next sibling parent reply Dicebot <public dicebot.lv> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
Arch Linux packages uploaded.
Nov 04 2015
parent Daniel =?UTF-8?B?S296w6Fr?= via Digitalmars-d-announce writes:
V Wed, 04 Nov 2015 18:44:40 +0000
Dicebot via Digitalmars-d-announce
<digitalmars-d-announce puremagic.com> napsáno:

 On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin  
Arch Linux packages uploaded.
Thanks :) Btw. any specific reason why dub is not in dlang group?
Nov 04 2015
prev sibling next sibling parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.
Thanks and congratulations to all involved! Just built and installed it. Now, what to try out first ... :-)
Nov 04 2015
prev sibling next sibling parent ric maicle <rmaicle gmail.com> writes:
On Wednesday, 04 November, 2015 09:49 AM, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and comes with
 even more rangified phobos functions, std.experimental.allocator, and
 many other improvements.

 See the changelog for more details.
 http://dlang.org/changelog/2.069.0.html

 -Martin
Great! This is fantastic! Thank you D community.
Nov 04 2015
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 11/03/2015 08:49 PM, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and comes with
 even more rangified phobos functions, std.experimental.allocator, and
 many other improvements.

 See the changelog for more details.
 http://dlang.org/changelog/2.069.0.html

 -Martin
This schedule seems to work well. Daily downloads on the rise - 28-days moving average almost 1400 as of today. Good work everyone and particularly thanks Martin for putting us on a schedule! http://erdani.com/d/downloads.daily.png Andrei
Nov 08 2015
parent reply rsw0x <anonymous anonymous.com> writes:
On Sunday, 8 November 2015 at 18:56:55 UTC, Andrei Alexandrescu 
wrote:
 On 11/03/2015 08:49 PM, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with
 even more rangified phobos functions, 
 std.experimental.allocator, and
 many other improvements.

 See the changelog for more details.
 http://dlang.org/changelog/2.069.0.html

 -Martin
This schedule seems to work well. Daily downloads on the rise - 28-days moving average almost 1400 as of today. Good work everyone and particularly thanks Martin for putting us on a schedule! http://erdani.com/d/downloads.daily.png Andrei
This made me a bit interested on Linux package downloads, but the only sources seem to be self-reported so you can only compare it relatively. Interestingly, GDC seems *very* popular - it has a 4:1 install rate of gccgo and only trailing slightly behind the golang-go package(reference compiler?) on Ubuntu's popcon. Debian's shows nearly similar numbers. LDC is lagging severely behind on both - packaging issue?
Nov 08 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 11/8/15 2:58 PM, rsw0x wrote:
 Interestingly, GDC seems *very* popular - it has a 4:1 install rate of
 gccgo and only trailing slightly behind the golang-go package(reference
 compiler?) on Ubuntu's popcon.
Link? -- Andrei
Nov 08 2015
parent reply rsw0x <anonymous anonymous.com> writes:
On Monday, 9 November 2015 at 02:15:17 UTC, Andrei Alexandrescu 
wrote:
 On 11/8/15 2:58 PM, rsw0x wrote:
 Interestingly, GDC seems *very* popular - it has a 4:1 install 
 rate of
 gccgo and only trailing slightly behind the golang-go 
 package(reference
 compiler?) on Ubuntu's popcon.
Link? -- Andrei
debian: https://qa.debian.org/popcon-graph.php?packages=gdc%2Cgccgo%2Cgolang&show_installed=on&want_legend=on&want_ticks=on&from_date=&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1 ubuntu: http://ubuntu-popcon.43-1.org/cgi-bin/graph.pl?name=gdc http://ubuntu-popcon.43-1.org/cgi-bin/graph.pl?name=golang-go http://ubuntu-popcon.43-1.org/cgi-bin/graph.pl?name=gccgo note that dmd is not redistributed on most linux distros due to licensing issues
Nov 08 2015
parent reply Thomas Brix Larsen <brix brix-verden.dk> writes:
On Monday, 9 November 2015 at 03:15:29 UTC, rsw0x wrote:
 On Monday, 9 November 2015 at 02:15:17 UTC, Andrei Alexandrescu 
 wrote:
 On 11/8/15 2:58 PM, rsw0x wrote:
 Interestingly, GDC seems *very* popular - it has a 4:1 
 install rate of
 gccgo and only trailing slightly behind the golang-go 
 package(reference
 compiler?) on Ubuntu's popcon.
Link? -- Andrei
debian: https://qa.debian.org/popcon-graph.php?packages=gdc%2Cgccgo%2Cgolang&show_installed=on&want_legend=on&want_ticks=on&from_date=&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1 ubuntu: http://ubuntu-popcon.43-1.org/cgi-bin/graph.pl?name=gdc http://ubuntu-popcon.43-1.org/cgi-bin/graph.pl?name=golang-go http://ubuntu-popcon.43-1.org/cgi-bin/graph.pl?name=gccgo note that dmd is not redistributed on most linux distros due to licensing issues
Opt-in stats from Arch: https://www.archlinux.de/?page=PackageStatistics go 19.45% rust 5.92% gcc-go 5.61% dmd 2.56% ldc 1.72% gdc 1.60%
Nov 09 2015
parent Dicebot <public dicebot.lv> writes:
On Monday, 9 November 2015 at 10:39:21 UTC, Thomas Brix Larsen 
wrote:
 Opt-in stats from Arch:

 https://www.archlinux.de/?page=PackageStatistics

 go     19.45%
 rust    5.92%
 gcc-go  5.61%
 dmd     2.56%
 ldc     1.72%
 gdc     1.60%
This matches my personal understanding of current "market" share for those.
Nov 09 2015
prev sibling next sibling parent reply FreeSlave <freeslave93 gmail.com> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
I tried to install rpm-package on Fedora 20 with rpm -i, but it gives me error: Failed dependencies: glibc-devel(x86-32) is needed by dmd-2.069.0-0.x86_64 libcurl(x86-32) is needed by dmd-2.069.0-0.x86_64 Why do package depends on 32-bit libraries? Was it always like that? I never installed dmd on Fedora before.
Nov 09 2015
parent reply Dragos Carp <dragoscarp gmail.com> writes:
On Monday, 9 November 2015 at 12:28:09 UTC, FreeSlave wrote:
 I tried to install rpm-package on Fedora 20 with rpm -i, but it 
 gives me

 error: Failed dependencies:
 	glibc-devel(x86-32) is needed by dmd-2.069.0-0.x86_64
 	libcurl(x86-32) is needed by dmd-2.069.0-0.x86_64

 Why do package depends on 32-bit libraries? Was it always like 
 that? I never installed dmd on Fedora before.
Yes, it was always like that. To be able to generate 32-bit binaries, and dmd-64 can do that, these 32-bit packages are required.
Nov 09 2015
parent reply Dicebot <public dicebot.lv> writes:
On Monday, 9 November 2015 at 12:58:39 UTC, Dragos Carp wrote:
 On Monday, 9 November 2015 at 12:28:09 UTC, FreeSlave wrote:
 I tried to install rpm-package on Fedora 20 with rpm -i, but 
 it gives me

 error: Failed dependencies:
 	glibc-devel(x86-32) is needed by dmd-2.069.0-0.x86_64
 	libcurl(x86-32) is needed by dmd-2.069.0-0.x86_64

 Why do package depends on 32-bit libraries? Was it always like 
 that? I never installed dmd on Fedora before.
Yes, it was always like that. To be able to generate 32-bit binaries, and dmd-64 can do that, these 32-bit packages are required.
More common practice is to declare such dependencies as optional though.
Nov 09 2015
parent reply Martin Nowak <code+news.digitalmars dawg.eu> writes:
On 11/09/2015 07:08 PM, Dicebot wrote:
 More common practice is to declare such dependencies as optional though.
I made a ticket https://issues.dlang.org/show_bug.cgi?id=15308. Simply changing https://github.com/D-Programming-Language/installer/blob/41fb25ce5e5ff2c14728f490ee4579ac49bb989a/linux/dmd_rpm.sh#L266 doesn't work b/c the rpmtool from debian used to build the rpm packages doesn't support Recommends.
Nov 09 2015
parent Dicebot <public dicebot.lv> writes:
On Monday, 9 November 2015 at 21:38:13 UTC, Martin Nowak wrote:
 On 11/09/2015 07:08 PM, Dicebot wrote:
 More common practice is to declare such dependencies as 
 optional though.
I made a ticket https://issues.dlang.org/show_bug.cgi?id=15308. Simply changing https://github.com/D-Programming-Language/installer/blob/41fb25ce5e5ff2c14728f490ee4579ac49bb989a/linux/dmd_rpm.sh#L266 doesn't work b/c the rpmtool from debian used to build the rpm packages doesn't support Recommends.
Sorry, I don't know a single thing about RPM world thus can't really help meaningfully :(
Nov 09 2015
prev sibling parent uiop <uiop uiop.uiop.fi> writes:
On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak wrote:
 Glad to announce D 2.069.0.

 http://dlang.org/download.html 
 http://downloads.dlang.org/releases/2.x/2.069.0/

 This is the first release with a self-hosted dmd compiler and 
 comes with even more rangified phobos functions, 
 std.experimental.allocator, and many other improvements.

 See the changelog for more details. 
 http://dlang.org/changelog/2.069.0.html

 -Martin
I'd like to put dlang people attention this: http://forum.dlang.org/post/bxmpvrttbhfuddsymrnk forum.dlang.org It looks like there's been a problem when you compiled phobos because the new allocators miss !
Nov 10 2015