Re: DIP32: Uniform tuple syntax

2013-04-05 Thread Zach the Mystic
On Friday, 5 April 2013 at 23:49:49 UTC, bearophile wrote: timotheecour: What about {c, void} = tup; I think the question mark is better here. It's shorter and it has only one meaning. Bye, bearophile Not disagreeing, but you had mentioned nullable types before, and I was wondering

Re: Disable GC entirely

2013-04-05 Thread Vladimir Panteleev
On Saturday, 6 April 2013 at 04:16:13 UTC, Adrian Mercieca wrote: Hi, Is it possible to switch off the GC entirely in D? Can the GC be switched off completely - including within phobos? import core.memory; GC.disable(); However, most D code - including the runtime and standard library - assu

Disable GC entirely

2013-04-05 Thread Adrian Mercieca
Hi, Is it possible to switch off the GC entirely in D? Can the GC be switched off completely - including within phobos? What I am looking for is absolute control over memory management. I've done some tests with GC on and GC off and the performance with GC is not good enough for my requirements.

Re: About the Expressiveness of D

2013-04-05 Thread Jonathan M Davis
On Friday, April 05, 2013 14:36:07 Brad Roberts wrote: > I believe it's really not a module issue at all, but a doc issue. The > two are directly tied today, but I have _no_ problem with importing the > module and using it as is. Yes, it's large in terms of lines in the > file, but really, who's af

Re: status of shared libs

2013-04-05 Thread Ellery Newcomer
On 04/05/2013 07:22 PM, Walter Bright wrote: On 4/5/2013 7:18 PM, Ellery Newcomer wrote: is there a roadmap for druntime/phobos support of shared libraries? just built dmd from master, and I still can't coax out a 64 bit .so awaiting: https://github.com/D-Programming-Language/phobos/pull/124

Re: status of shared libs

2013-04-05 Thread Walter Bright
On 4/5/2013 7:18 PM, Ellery Newcomer wrote: is there a roadmap for druntime/phobos support of shared libraries? just built dmd from master, and I still can't coax out a 64 bit .so awaiting: https://github.com/D-Programming-Language/phobos/pull/1240

status of shared libs

2013-04-05 Thread Ellery Newcomer
is there a roadmap for druntime/phobos support of shared libraries? just built dmd from master, and I still can't coax out a 64 bit .so

Re: On the performance of building D programs

2013-04-05 Thread Vladimir Panteleev
On Friday, 5 April 2013 at 14:01:31 UTC, Jacob Carlborg wrote: On 2013-04-05 15:45, Vladimir Panteleev wrote: -r should be disabled for such cases - thus, enabled only when there's one .d file and no .obj / .lib files. Although specifying library files on the compiler's command line is a valid

Re: On the performance of building D programs

2013-04-05 Thread Vladimir Panteleev
On Friday, 5 April 2013 at 14:02:36 UTC, Andrej Mitrovic wrote: I remember other compiler writers saying pragma should not be used (I think GDC was it). I see, I didn't realize pragma(lib) wasn't implemented in GDC. Anyway, It's easier to reason about a feature if you only had to pass a sing

Re: DIP32: Uniform tuple syntax

2013-04-05 Thread bearophile
timotheecour: What about {c, void} = tup; I think the question mark is better here. It's shorter and it has only one meaning. Bye, bearophile

Re: About the Expressiveness of D

2013-04-05 Thread Brad Roberts
On 4/5/13 11:17 AM, Jonathan M Davis wrote: On Friday, April 05, 2013 13:13:29 Chad Joan wrote: On 04/02/2013 10:44 PM, Andrei Alexandrescu wrote: I think it leads to writing less repetitive unittests. If we did datetime all over again, I'd give a budget of 2000 lines for all functionality. I

Re: DIP32: Uniform tuple syntax

2013-04-05 Thread timotheecour
On Saturday, 30 March 2013 at 18:05:27 UTC, bearophile wrote: Zach the Mystic: {c, $_} = tup; {c, @} = tup; {c, @_} = tup; {c, $$} = tup; {c, {}} = tup; {c, {_}} = tup; {c, $~} = tup; {c, @~= tup; etc. {c, ?} = tup; Right, I was forgetting that. Or this if you want to keep the single "?" fo

Re: Need clarification on dmd symbol generation

2013-04-05 Thread Dicebot
On Thursday, 4 April 2013 at 19:34:06 UTC, Dicebot wrote: I am currently investigating http://d.puremagic.com/issues/show_bug.cgi?id=9571 and after brief exploration of symbols emitted to object file as well as code that emits them I can't rid of an idea that I am missing something about modul

Re: DIP33: A standard exception hierarchy

2013-04-05 Thread John Colvin
On Friday, 5 April 2013 at 13:42:02 UTC, deadalnix wrote: Right now, it isn't even possible to try a graceful shutdown when really, the program is unlikely to be in a completely unpredictable state, especially in @safe code. It is possible. Catch the error. However, having the language prete

Re: posix.mak wants my private key

2013-04-05 Thread Dicebot
On Friday, 5 April 2013 at 18:34:50 UTC, Martin Nowak wrote: On 04/05/2013 07:41 PM, Ellery Newcomer wrote: trying to build d-programming-language.org from master, and make -f posix.mak all results in Enter passphrase for key '/home/ellery/.ssh/id_rsa' wtf? The makefile should use the git:

Re: DIP33: A standard exception hierarchy

2013-04-05 Thread Jonathan M Davis
On Friday, April 05, 2013 15:42:00 deadalnix wrote: > Removing the plug a failure that is way more serious than an > array out of bound access. Why do we want to worsen the array > thing just because the later may happen ? > > I guess that is the same logic that lead to theses cars we see in > mov

Re: posix.mak wants my private key

2013-04-05 Thread Martin Nowak
On 04/05/2013 07:41 PM, Ellery Newcomer wrote: trying to build d-programming-language.org from master, and make -f posix.mak all results in Enter passphrase for key '/home/ellery/.ssh/id_rsa' wtf? The makefile should use the git:// protocol instead of ssh to access github.

Re: About the Expressiveness of D

2013-04-05 Thread Jonathan M Davis
On Friday, April 05, 2013 13:13:29 Chad Joan wrote: > On 04/02/2013 10:44 PM, Andrei Alexandrescu wrote: > > I think it leads to writing less repetitive unittests. > > > > If we did datetime all over again, I'd give a budget of 2000 lines for > > all functionality. I bet the solution would be bett

Re: On the performance of building D programs

2013-04-05 Thread Johannes Pfau
Am Fri, 5 Apr 2013 16:02:22 +0200 schrieb Andrej Mitrovic : > On 4/5/13, Vladimir Panteleev wrote: > > Another option is wildcards (std.*). > > Yep, I use this for unittesting and it works nice. > > On 4/5/13, Vladimir Panteleev wrote: > > -r should be disabled for such cases - thus, enabled o

Re: posix.mak wants my private key

2013-04-05 Thread Steven Schveighoffer
On Fri, 05 Apr 2013 13:41:54 -0400, Ellery Newcomer wrote: trying to build d-programming-language.org from master, and make -f posix.mak all results in Enter passphrase for key '/home/ellery/.ssh/id_rsa' wtf? It's trying to git clone the repositories from github. Apparently your key

Re: About the Expressiveness of D

2013-04-05 Thread Steven Schveighoffer
On Fri, 05 Apr 2013 13:13:29 -0400, Chad Joan wrote: My problem with datetime is that it is too monolithic. I really wish it was split into about 3 different modules. This is frustrating from a user-perspective. The docs for that thing can easily make someone's eyes gloss over. What i

posix.mak wants my private key

2013-04-05 Thread Ellery Newcomer
trying to build d-programming-language.org from master, and make -f posix.mak all results in Enter passphrase for key '/home/ellery/.ssh/id_rsa' wtf?

Re: On the performance of building D programs

2013-04-05 Thread Andrej Mitrovic
On 4/5/13, Paulo Pinto wrote: > Hence my remark of a modern linker. Yeah but we're looking for something that works now. A modern linker for D is a distant dream right now, unfortunately..

Re: About the Expressiveness of D

2013-04-05 Thread Chad Joan
On 04/02/2013 08:01 PM, Walter Bright wrote: On 4/2/2013 4:55 PM, Jesse Phillips wrote: I usually find the build in unittests to cause more skew since those are counted as LOC. Often, in pulls for D, the LOC of the unittests exceeds the LOC of the fix. I'm inordinately pleased with how well u

Re: About the Expressiveness of D

2013-04-05 Thread Chad Joan
On 04/02/2013 10:44 PM, Andrei Alexandrescu wrote: I think it leads to writing less repetitive unittests. If we did datetime all over again, I'd give a budget of 2000 lines for all functionality. I bet the solution would be better. Andrei My problem with datetime is that it is too monolith

Re: About the Expressiveness of D

2013-04-05 Thread Steven Schveighoffer
On Fri, 05 Apr 2013 02:16:02 -0400, SomeDude wrote: On Thursday, 4 April 2013 at 18:00:27 UTC, Steven Schveighoffer wrote: Mac mail fixed this problem for me. All previously received text is folded out, no need to look at it. So there is a lot of visual noise for nothing, and you lik

Re: On the performance of building D programs

2013-04-05 Thread Nick Sabalausky
On Fri, 05 Apr 2013 15:45:15 +0200 "Vladimir Panteleev" wrote: > > -r should be disabled for such cases - thus, enabled only when > there's one .d file and no .obj / .lib files. No, including static libs while using recursive compilation is definitely a very real need.

Re: On the performance of building D programs

2013-04-05 Thread Dmitry Olshansky
05-Apr-2013 18:12, Paulo Pinto пишет: On Friday, 5 April 2013 at 12:51:58 UTC, Andrej Mitrovic wrote: On 4/5/13, Paulo Pinto wrote: By checking if foo.obj is outdated in regards to foo.d The compiler doesn't know that foo.d was built into foo.obj, it has no way of knowing that. Something

Re: On the performance of building D programs

2013-04-05 Thread Paulo Pinto
On Friday, 5 April 2013 at 12:51:58 UTC, Andrej Mitrovic wrote: On 4/5/13, Paulo Pinto wrote: By checking if foo.obj is outdated in regards to foo.d The compiler doesn't know that foo.d was built into foo.obj, it has no way of knowing that. Hence my remark of a modern linker.

Re: DIP33: A standard exception hierarchy

2013-04-05 Thread Dmitry Olshansky
04-Apr-2013 23:16, Ali Çehreli пишет: > All you need is one example where it would remove the wrong file, $ dmd deneme.d -ofdeneme -I~/deneme/d -O -inline -m32 $ ./deneme import std.stdio; import std.string; import std.array; void main() { auto myFile = "some.tmp"; scope(exit) write

Re: On the performance of building D programs

2013-04-05 Thread Jacob Carlborg
On 2013-04-05 15:45, Vladimir Panteleev wrote: -r should be disabled for such cases - thus, enabled only when there's one .d file and no .obj / .lib files. Although specifying library files on the compiler's command line is a valid use case, compatible with recursive compilation, I think we shou

Re: On the performance of building D programs

2013-04-05 Thread Andrej Mitrovic
On 4/5/13, Vladimir Panteleev wrote: > Another option is wildcards (std.*). Yep, I use this for unittesting and it works nice. On 4/5/13, Vladimir Panteleev wrote: > -r should be disabled for such cases - thus, enabled only when there's one .d > file and no .obj / .lib files. The .lib file co

Re: On the performance of building D programs

2013-04-05 Thread Vladimir Panteleev
On Friday, 5 April 2013 at 11:29:20 UTC, Andrej Mitrovic wrote: On 4/5/13, Vladimir Panteleev wrote: I think -r is redundant, and should be the default action if only one module is given on DMD's command line. I can't think of plausible situations where this could be a problem. $ dmd main.d

Re: Suggestions for vibe.d article topics

2013-04-05 Thread deadalnix
On Friday, 5 April 2013 at 11:50:46 UTC, Dicebot wrote: Well, I am more on the answering side :) Problem is I have a network service background in native languages, but not of a web type and have no idea what questions may arise when someone comes from modern dynamic language web framework. I

Re: DIP33: A standard exception hierarchy

2013-04-05 Thread deadalnix
On Friday, 5 April 2013 at 01:11:40 UTC, Jonathan M Davis wrote: Well, the program has no way of knowing _why_ popFront is being called on an empty range or an invalid index is being passed to opIndex or opSlice. The fact that it happened is proof that either there's a programming bug or that t

Re: On the performance of building D programs

2013-04-05 Thread Andrej Mitrovic
On 4/5/13, Paulo Pinto wrote: > By checking if foo.obj is outdated in regards to foo.d The compiler doesn't know that foo.d was built into foo.obj, it has no way of knowing that.

Re: On the performance of building D programs

2013-04-05 Thread Paulo Pinto
On Friday, 5 April 2013 at 11:29:20 UTC, Andrej Mitrovic wrote: On 4/5/13, Vladimir Panteleev wrote: I think -r is redundant, and should be the default action if only one module is given on DMD's command line. I can't think of plausible situations where this could be a problem. $ dmd main.d

Re: Suggestions for vibe.d article topics

2013-04-05 Thread Dicebot
Well, I am more on the answering side :) Problem is I have a network service background in native languages, but not of a web type and have no idea what questions may arise when someone comes from modern dynamic language web framework.

Re: Suggestions for vibe.d article topics

2013-04-05 Thread deadalnix
On Friday, 5 April 2013 at 09:41:54 UTC, Dicebot wrote: Cross-post from vibe.d newsgroup : http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/1434/ I have been doing some lazy writing on vibe.d topic. Aim is to get series of articles that can get reader familiar with vibe.d

Re: On the performance of building D programs

2013-04-05 Thread Andrej Mitrovic
On 4/5/13, Vladimir Panteleev wrote: > I think -r is redundant, and should be the default action if only > one module is given on DMD's command line. I can't think of > plausible situations where this could be a problem. $ dmd main.d foo.obj If main has imports to 'foo', how will DMD know whethe

Re: On the performance of building D programs

2013-04-05 Thread Paulo Pinto
On Friday, 5 April 2013 at 00:51:38 UTC, Vladimir Panteleev wrote: On Friday, 5 April 2013 at 00:39:49 UTC, bearophile wrote: Vladimir Panteleev: D code already compiles pretty quickly, but here's an opportunity to nearly halve that time (for some cases) - by moving some of rdmd's basic funct

Re: On the performance of building D programs

2013-04-05 Thread Vladimir Panteleev
On Friday, 5 April 2013 at 10:18:25 UTC, Andrej Mitrovic wrote: (agreed with everything not quoted) dmd -r -rx=somemodule.d -rxp=some.package (The = were just added for readability) I think -r is redundant, and should be the default action if only one module is given on DMD's command line.

Re: On the performance of building D programs

2013-04-05 Thread Andrei Alexandrescu
On 4/5/13 3:29 AM, Dicebot wrote: I was very unpleasantly surprised to know from that thread about dmd doing everything but object file creation during rdmd dependency tracking step. That feels very inefficient and probably only reason this has not caught any attention is generally fast dmd compi

Re: On the performance of building D programs

2013-04-05 Thread Andrej Mitrovic
On 4/5/13, Vladimir Panteleev wrote: > it must run dmd with -v -o-, and read its verbose output. IIRC xfbuild used to work around this by both reading the verbose output and simultaneously building. In other words it used 'dmd -deps' without the -o- switch. There's a function called compileAndTra

Re: About the Expressiveness of D

2013-04-05 Thread Andrei Alexandrescu
On 4/4/13 10:36 PM, Zach the Mystic wrote: On Friday, 5 April 2013 at 01:55:06 UTC, bearophile wrote: Andrei Alexandrescu: Pinging bearophile on this again - do you want to adapt this into a blog entry? It may be worth posting the link to reddit as is, but one adaptation pass for a larger audie

Re: Suggestions for vibe.d article topics

2013-04-05 Thread Dicebot
On Friday, 5 April 2013 at 09:47:08 UTC, Vladimir Panteleev wrote: Could you add a D tag to the relevant articles, so I could add your blog to Planet D? http://planet.dsource.org/ Did not even know it has tags :) Was just using blogspot as a storage place until I find time to write my own sol

Re: My thoughts & tries with rvalue references

2013-04-05 Thread kenji hara
I also think that we should not change current `in` meaning. It is already used as the shorthand of `const` widely, and it has value semantics (make a copy of given argument). That's the major motivation to add new syntax "scope ref" and "in ref". Kenji Hara 2013/4/5 Namespace > I am surprised

Re: Suggestions for vibe.d article topics

2013-04-05 Thread Vladimir Panteleev
On Friday, 5 April 2013 at 09:41:54 UTC, Dicebot wrote: First introductory articles can be found here : http://dicebot.blogspot.com/ , improvement suggestions for old stuff are also welcome. Could you add a D tag to the relevant articles, so I could add your blog to Planet D? http://planet.d

Suggestions for vibe.d article topics

2013-04-05 Thread Dicebot
Cross-post from vibe.d newsgroup : http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/1434/ I have been doing some lazy writing on vibe.d topic. Aim is to get series of articles that can get reader familiar with vibe.d idioms and highlight use cases currently not presented

Re: About the Expressiveness of D

2013-04-05 Thread Kagamin
It won’t tell you how readable the resulting code is (Hello, lambda functions) or how long it takes to write it (APL anyone?), so it’s not a measure of maintainability or productivity. Did I get it right, that expressiveness means trading maintainability for keystroke saving?

Re: My thoughts & tries with rvalue references

2013-04-05 Thread Namespace
I am surprised to hear that redundant storage classes are considered an error by dmd :) Makes no sense for me, typical "generic code gen" use case story. http://dpaste.1azy.net/3ef7a084 Sorry then, I have misunderstood you then. I do want both "scope ref" and "const scope ref" too, but I was t

Re: My thoughts & tries with rvalue references

2013-04-05 Thread Dicebot
On Friday, 5 April 2013 at 08:57:35 UTC, Namespace wrote: How so? It does not break anything, as all "const scope" cases can be processed with "const scope ref", in fact, compiler should be allowed to degrade first to latter. Regarding meaning - if "scope ref" means permissive rvalues (mutable

Re: My thoughts & tries with rvalue references

2013-04-05 Thread Namespace
How so? It does not break anything, as all "const scope" cases can be processed with "const scope ref", in fact, compiler should be allowed to degrade first to latter. Regarding meaning - if "scope ref" means permissive rvalues (mutable ones), then "const scope ref" means closer match for C++ "

Re: My thoughts & tries with rvalue references

2013-04-05 Thread Dicebot
On Friday, 5 April 2013 at 08:35:03 UTC, Namespace wrote: On Friday, 5 April 2013 at 07:48:38 UTC, Dicebot wrote: On Thursday, 4 April 2013 at 16:25:52 UTC, kenji hara wrote: I also think writing DIP would be better. ... Btw, Kenji, what do you think about redefining "in" to "const scope ref

Re: My thoughts & tries with rvalue references

2013-04-05 Thread Namespace
On Friday, 5 April 2013 at 07:48:38 UTC, Dicebot wrote: On Thursday, 4 April 2013 at 16:25:52 UTC, kenji hara wrote: I also think writing DIP would be better. ... Btw, Kenji, what do you think about redefining "in" to "const scope ref" and allowing compiler to chose how variable exactly is p

Re: My thoughts & tries with rvalue references

2013-04-05 Thread Dicebot
On Thursday, 4 April 2013 at 16:25:52 UTC, kenji hara wrote: I also think writing DIP would be better. ... Btw, Kenji, what do you think about redefining "in" to "const scope ref" and allowing compiler to chose how variable exactly is passed ("auto ref" with no template bloat)? Within those

Re: My thoughts & tries with rvalue references

2013-04-05 Thread Dicebot
On Friday, 5 April 2013 at 00:12:33 UTC, Zach the Mystic wrote: struct Large { ... } ref Large process1(@temp ref Large a) { return a; } ref Large process2(@temp ref Large a) { return a; } Large* lar = &process2(process1(Large("Pass"," a ", "Large", "here"))); This is exactly type of code I c

Re: On the performance of building D programs

2013-04-05 Thread Dicebot
I was very unpleasantly surprised to know from that thread about dmd doing everything but object file creation during rdmd dependency tracking step. That feels very inefficient and probably only reason this has not caught any attention is generally fast dmd compilation speed. This case begs for