Re: Why I'm Excited about D

2015-04-13 Thread Dominikus Dittes Scherkl via Digitalmars-d
On Monday, 13 April 2015 at 05:46:32 UTC, Dicebot wrote: [...] That said, I think the main reason why this notion didn't work well for D when @property was introduces is because of extremely vague range semantics. I find it important that you have mentioned exactly `front` and `popFront` as

Re: Why I'm Excited about D

2015-04-13 Thread deadalnix via Digitalmars-d
On Monday, 13 April 2015 at 05:46:32 UTC, Dicebot wrote: On Sunday, 12 April 2015 at 18:42:01 UTC, Andrei Alexandrescu wrote: On 4/12/15 10:43 AM, Dicebot wrote: It is much better in languages that do support dedicated properties because language rules can be used to express the same notion

Re: Why I'm Excited about D

2015-04-13 Thread Abdulhaq via Digitalmars-d
On Monday, 13 April 2015 at 16:43:00 UTC, deadalnix wrote: Thinking about it, this is probably the right thing to do, but the range interface makes it non obvious and confusing. Some time ago there was a long thread about formalising the interface for ranges, i.e. a clear and precise

Re: Why I'm Excited about D

2015-04-12 Thread Dicebot via Digitalmars-d
On Sunday, 12 April 2015 at 18:42:01 UTC, Andrei Alexandrescu wrote: On 4/12/15 10:43 AM, Dicebot wrote: It is much better in languages that do support dedicated properties because language rules can be used to express the same notion without resorting to any conventions. Wouldn't e.g. C#

Re: Why I'm Excited about D

2015-04-12 Thread Idan Arye via Digitalmars-d
On Sunday, 12 April 2015 at 18:42:01 UTC, Andrei Alexandrescu wrote: On 4/12/15 10:43 AM, Dicebot wrote: It is much better in languages that do support dedicated properties because language rules can be used to express the same notion without resorting to any conventions. Wouldn't e.g. C#

Re: Why I'm Excited about D

2015-04-12 Thread Dicebot via Digitalmars-d
On Thursday, 9 April 2015 at 07:00:56 UTC, Andrei Alexandrescu wrote: On 4/8/15 11:45 PM, Dicebot wrote: It took almost an hour to bisect all changed to trace the failure to this specifc line and realize that `parser.node` wasn't just trivial getter but method which actually advanced internal

Re: Why I'm Excited about D

2015-04-12 Thread Andrei Alexandrescu via Digitalmars-d
On 4/12/15 10:43 AM, Dicebot wrote: It is much better in languages that do support dedicated properties because language rules can be used to express the same notion without resorting to any conventions. Wouldn't e.g. C# allow arbitrary code in getters and setters? And if so, wouldn't C# code

Re: Why I'm Excited about D

2015-04-09 Thread Idan Arye via Digitalmars-d
On Thursday, 9 April 2015 at 01:28:05 UTC, Andrei Alexandrescu wrote: On 4/8/15 4:15 PM, Idan Arye wrote: On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the writelne: No. -- Andrei Why not? The

Re: Why I'm Excited about D

2015-04-09 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 11:45 PM, Dicebot wrote: It took almost an hour to bisect all changed to trace the failure to this specifc line and realize that `parser.node` wasn't just trivial getter but method which actually advanced internal iterator to next node while returning current one. Thanks. The matter

Re: Why I'm Excited about D

2015-04-09 Thread Walter Bright via Digitalmars-d
On 4/9/2015 9:12 AM, Araq wrote: Because trivial accessors are everywhere in Java one usually has to assume it has no side-effects. I fail to see the relevance of the missing () in your example; () doesn't scream side-effect in C++/Java/C#/C. The real issue here is that 'node' or 'getNode' is

Re: Why I'm Excited about D

2015-04-09 Thread via Digitalmars-d
On Thursday, 9 April 2015 at 16:12:17 UTC, Araq wrote: side-effect in C++/Java/C#/C. The real issue here is that 'node' or 'getNode' is simply poorly named suggesting it has no side-effects. 'nextNode' for instance doesn't have this problem. next is a common name for next-pointers. You need

Re: Why I'm Excited about D

2015-04-09 Thread Araq via Digitalmars-d
So, to be more specific, here is one of cases where it actually caused trouble in practice. Someone has originally written code that looked roughly like this: while (something) { // ... auto str = format(%s, parser.node); } Long time later I have been adding trace logs to that module

Re: Why I'm Excited about D

2015-04-09 Thread Andrei Alexandrescu via Digitalmars-d
On 4/9/15 10:31 AM, Idan Arye wrote: On Thursday, 9 April 2015 at 01:28:05 UTC, Andrei Alexandrescu wrote: On 4/8/15 4:15 PM, Idan Arye wrote: On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the

Re: Why I'm Excited about D

2015-04-09 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 18:08:36 UTC, Andrei Alexandrescu wrote: On 4/8/15 10:04 AM, Dicebot wrote: On Wednesday, 8 April 2015 at 16:56:12 UTC, Andrei Alexandrescu wrote: Considering I am far from the only person having problems with it in our team and such style is extremely common

Re: Why I'm Excited about D

2015-04-08 Thread Martin Nowak via Digitalmars-d
On Tuesday, 7 April 2015 at 22:22:35 UTC, Andrei Alexandrescu wrote: On 4/7/15 11:42 AM, Martin Nowak wrote: What's still missing is a faster AST interpreter for CTFE though. A JIT would be nice. -- Andrei Maxine understood the point, see http://dconf.org/2013/talks/chevalier_boisvert.pdf

Re: Why I'm Excited about D

2015-04-08 Thread Idan Arye via Digitalmars-d
On Wednesday, 8 April 2015 at 08:35:52 UTC, ixid wrote: On Tuesday, 7 April 2015 at 19:46:07 UTC, Ary Borenszweig wrote: On 4/7/15 3:34 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at

Re: Why I'm Excited about D

2015-04-08 Thread Jacob Carlborg via Digitalmars-d
On 2015-04-07 19:53, deadalnix wrote: https://www.destroyallsoftware.com/talks/wat That is mostly for JavaScript. -- /Jacob Carlborg

Re: Why I'm Excited about D

2015-04-08 Thread deadalnix via Digitalmars-d
On Wednesday, 8 April 2015 at 05:03:03 UTC, Andrei Alexandrescu wrote: On 4/7/15 7:33 PM, deadalnix wrote: On Wednesday, 8 April 2015 at 01:30:02 UTC, Andrei Alexandrescu wrote: Not really when you think about it. CPU instruction is a bytecode like another, with provided hardware interpreter

Re: Why I'm Excited about D

2015-04-08 Thread ixid via Digitalmars-d
On Tuesday, 7 April 2015 at 19:46:07 UTC, Ary Borenszweig wrote: On 4/7/15 3:34 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more consistent with UFCS:

Re: Why I'm Excited about D

2015-04-08 Thread Jacob Carlborg via Digitalmars-d
On 2015-04-07 19:46, Ary Borenszweig wrote: It's true that Ruby is slow, but only because their priority is correctness. I don't think it's so much about the correctness, it's rather the complicated features it supports, like metaprogramming. eval and bindings are causing problems, also

Re: Why I'm Excited about D

2015-04-08 Thread ixid via Digitalmars-d
On Tuesday, 7 April 2015 at 18:34:01 UTC, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more consistent with UFCS: foreach (name; names.parallel) {

Re: Why I'm Excited about D

2015-04-08 Thread via Digitalmars-d
On Wednesday, 8 April 2015 at 13:52:22 UTC, bearophile wrote: I think foo.writeln; is acceptable. You just need to get a bit used to it. The whole dot-notation for pipelining is semantically flawed en relies on knowing what names stand for rather than more universal symbols with known

Re: Why I'm Excited about D

2015-04-08 Thread Adam D. Ruppe via Digitalmars-d
On Wednesday, 8 April 2015 at 16:59:27 UTC, Dicebot wrote: Just to be clear - I wouldn't allow range.copy(stdout) in my projects either, requiring any consumer to be written as dedicated expression. Worth noting that std.range.put's documentation also says use the freestanding syntax. (This

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 16:56:12 UTC, Andrei Alexandrescu wrote: Considering I am far from the only person having problems with it in our team and such style is extremely common because of being easy - this can easily be one of most damaging language features in D in terms of wasted

Re: Why I'm Excited about D

2015-04-08 Thread Walter Bright via Digitalmars-d
On 4/8/2015 9:58 AM, Adam D. Ruppe wrote: On Wednesday, 8 April 2015 at 16:51:53 UTC, Andrei Alexandrescu wrote: File defines it. Last time this came up on reddit, I explained that *this* was exactly why I think string.writeln is mistaken. writeln does NOT operate on its string, it doesn't

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 17:17:21 UTC, Walter Bright wrote: On 4/8/2015 9:58 AM, Adam D. Ruppe wrote: On Wednesday, 8 April 2015 at 16:51:53 UTC, Andrei Alexandrescu wrote: File defines it. Last time this came up on reddit, I explained that *this* was exactly why I think string.writeln

Re: Why I'm Excited about D

2015-04-08 Thread Adam D. Ruppe via Digitalmars-d
On Wednesday, 8 April 2015 at 17:17:21 UTC, Walter Bright wrote: writeln is an OutputRange. No, it isn't. It isn't even remotely close to one - an OutputRange is a type, writeln is a function. isOutputRange doesn't even return false for it, it outright fails to compile! File isn't an

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 08:35:52 UTC, ixid wrote: On Tuesday, 7 April 2015 at 19:46:07 UTC, Ary Borenszweig wrote: On 4/7/15 3:34 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at

Re: Why I'm Excited about D

2015-04-08 Thread bearophile via Digitalmars-d
deadalnix: foreach (name; names.parallel) { name.writeln; } no.please I think foo.writeln; is acceptable. You just need to get a bit used to it. Bye, bearophile

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 13:52:22 UTC, bearophile wrote: deadalnix: foreach (name; names.parallel) { name.writeln; } no.please I think foo.writeln; is acceptable. You just need to get a bit used to it. Bye, bearophile No.

Re: Why I'm Excited about D

2015-04-08 Thread Ary Borenszweig via Digitalmars-d
On 4/8/15 4:59 AM, Jacob Carlborg wrote: On 2015-04-07 19:46, Ary Borenszweig wrote: It's true that Ruby is slow, but only because their priority is correctness. I don't think it's so much about the correctness, it's rather the complicated features it supports, like metaprogramming. eval and

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 14:57:15 UTC, Ola Fosheim Grøstad wrote: On Wednesday, 8 April 2015 at 13:52:22 UTC, bearophile wrote: I think foo.writeln; is acceptable. You just need to get a bit used to it. The whole dot-notation for pipelining is semantically flawed en relies on knowing

Re: Why I'm Excited about D

2015-04-08 Thread Atila Neves via Digitalmars-d
On Tuesday, 7 April 2015 at 18:34:01 UTC, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more consistent with UFCS: foreach (name; names.parallel) {

Re: Why I'm Excited about D

2015-04-08 Thread Dmitri Makarov via Digitalmars-d
On Wednesday, 8 April 2015 at 18:08:36 UTC, Andrei Alexandrescu wrote: ... I also work on a large D project at work ... Which compiler do you use?

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the writelne: No. -- Andrei

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the writelne: No. -- Andrei Yes.

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 7:00 AM, Dicebot wrote: On Wednesday, 8 April 2015 at 13:52:22 UTC, bearophile wrote: deadalnix: foreach (name; names.parallel) { name.writeln; } no.please I think foo.writeln; is acceptable. You just need to get a bit used to it. Bye, bearophile No. Ja, ja, ja. -- Andrei

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 16:49:27 UTC, Dicebot wrote: On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the writelne: No. -- Andrei Yes. And, by the way, this is not a just personal taste thing.

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 6:42 AM, Dicebot wrote: There is no way anyone would ever add method called writeln to user data type File defines it. and it is clearly not pipeline function. Oh but it is. This is plain and disgusting abuse of the syntax, I am fully with deadalnix here. No. Andrei

Re: Why I'm Excited about D

2015-04-08 Thread Adam D. Ruppe via Digitalmars-d
On Wednesday, 8 April 2015 at 16:49:27 UTC, Dicebot wrote: On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu No. -- Andrei Yes. FILE_NOT_FOUND

Re: Why I'm Excited about D

2015-04-08 Thread Adam D. Ruppe via Digitalmars-d
On Wednesday, 8 April 2015 at 16:51:53 UTC, Andrei Alexandrescu wrote: File defines it. Last time this came up on reddit, I explained that *this* was exactly why I think string.writeln is mistaken. writeln does NOT operate on its string, it doesn't tell the string to do something, it

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 9:53 AM, Dicebot wrote: On Wednesday, 8 April 2015 at 16:49:27 UTC, Dicebot wrote: On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the writelne: No. -- Andrei Yes. And, by the way, this

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 16:51:53 UTC, Andrei Alexandrescu wrote: and it is clearly not pipeline function. Oh but it is. Oh really? And what does it transform the input data to? Just to be clear - I wouldn't allow range.copy(stdout) in my projects either, requiring any consumer to be

Re: Why I'm Excited about D

2015-04-08 Thread Dicebot via Digitalmars-d
On Wednesday, 8 April 2015 at 17:41:01 UTC, ixid wrote: Even putting aside the formal definition of output range, output is NOT part of the pipeline! Pipelines can be composed and they keep pumping data through them. writeln does not transform its input nor does it forward it to the next item

Re: Why I'm Excited about D

2015-04-08 Thread ixid via Digitalmars-d
Even putting aside the formal definition of output range, output is NOT part of the pipeline! Pipelines can be composed and they keep pumping data through them. writeln does not transform its input nor does it forward it to the next item in the pipe. It just eats it. nor does it forward it

Re: Why I'm Excited about D

2015-04-08 Thread Adam D. Ruppe via Digitalmars-d
On Wednesday, 8 April 2015 at 17:41:01 UTC, ixid wrote: It would be useful for debugging pipelines to be able to drop in writeln in the middle of the pipeline and pass on the data unchanged. That might be useful for debugging but I'd also be annoyed if someone used that in production code

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 10:04 AM, Dicebot wrote: On Wednesday, 8 April 2015 at 16:56:12 UTC, Andrei Alexandrescu wrote: Considering I am far from the only person having problems with it in our team and such style is extremely common because of being easy - this can easily be one of most damaging language

Re: Why I'm Excited about D

2015-04-08 Thread Walter Bright via Digitalmars-d
On 4/8/2015 10:33 AM, Adam D. Ruppe wrote: On Wednesday, 8 April 2015 at 17:17:21 UTC, Walter Bright wrote: writeln is an OutputRange. No, it isn't. It isn't even remotely close to one - an OutputRange is a type, I meant an instance of a type, as in: i is an int meaning i has type int.

Re: Why I'm Excited about D

2015-04-08 Thread weaselcat via Digitalmars-d
On Wednesday, 8 April 2015 at 22:19:11 UTC, Andrei Alexandrescu wrote: On 4/8/15 11:50 AM, Dmitri Makarov wrote: On Wednesday, 8 April 2015 at 18:08:36 UTC, Andrei Alexandrescu wrote: ... I also work on a large D project at work ... Which compiler do you use? dmd -- Andrei Is this for

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 1:21 PM, deadalnix wrote: Also, I've noted the general trend lately were you seems value more winning the debate than actually coming to some conclusion. I'm not sure what's up with that, but nothing good can come out of this on the long run. Hmmm... Could you please give a few

Re: Why I'm Excited about D

2015-04-08 Thread ketmar via Digitalmars-d
On Wed, 08 Apr 2015 23:14:23 +, ketmar wrote: On Wed, 08 Apr 2015 22:28:58 +, weaselcat wrote: On Wednesday, 8 April 2015 at 22:19:11 UTC, Andrei Alexandrescu wrote: On 4/8/15 11:50 AM, Dmitri Makarov wrote: On Wednesday, 8 April 2015 at 18:08:36 UTC, Andrei Alexandrescu wrote:

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 4:15 PM, Idan Arye wrote: On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the writelne: No. -- Andrei Why not? The property syntax's purpose is to create... well... properties. Give you the

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 3:28 PM, weaselcat wrote: On Wednesday, 8 April 2015 at 22:19:11 UTC, Andrei Alexandrescu wrote: On 4/8/15 11:50 AM, Dmitri Makarov wrote: On Wednesday, 8 April 2015 at 18:08:36 UTC, Andrei Alexandrescu wrote: ... I also work on a large D project at work ... Which compiler do you

Re: Why I'm Excited about D

2015-04-08 Thread Idan Arye via Digitalmars-d
On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least, put () after the writelne: No. -- Andrei Why not? The property syntax's purpose is to create... well... properties. Give you the illusion that you are reading and

Re: Why I'm Excited about D

2015-04-08 Thread ketmar via Digitalmars-d
On Wed, 08 Apr 2015 22:28:58 +, weaselcat wrote: On Wednesday, 8 April 2015 at 22:19:11 UTC, Andrei Alexandrescu wrote: On 4/8/15 11:50 AM, Dmitri Makarov wrote: On Wednesday, 8 April 2015 at 18:08:36 UTC, Andrei Alexandrescu wrote: ... I also work on a large D project at work ... Which

Re: Why I'm Excited about D

2015-04-08 Thread Andrei Alexandrescu via Digitalmars-d
On 4/8/15 11:50 AM, Dmitri Makarov wrote: On Wednesday, 8 April 2015 at 18:08:36 UTC, Andrei Alexandrescu wrote: ... I also work on a large D project at work ... Which compiler do you use? dmd -- Andrei

Re: Why I'm Excited about D

2015-04-08 Thread deadalnix via Digitalmars-d
Also, I've noted the general trend lately were you seems value more winning the debate than actually coming to some conclusion. I'm not sure what's up with that, but nothing good can come out of this on the long run.

Re: Why I'm Excited about D

2015-04-08 Thread deadalnix via Digitalmars-d
On Wednesday, 8 April 2015 at 16:56:12 UTC, Andrei Alexandrescu wrote: On 4/8/15 9:53 AM, Dicebot wrote: On Wednesday, 8 April 2015 at 16:49:27 UTC, Dicebot wrote: On Wednesday, 8 April 2015 at 16:47:10 UTC, Andrei Alexandrescu wrote: On 4/8/15 2:24 AM, Idan Arye wrote: At the very least,

Re: Why I'm Excited about D

2015-04-08 Thread ixid via Digitalmars-d
On Wednesday, 8 April 2015 at 17:43:27 UTC, Dicebot wrote: On Wednesday, 8 April 2015 at 17:41:01 UTC, ixid wrote: Even putting aside the formal definition of output range, output is NOT part of the pipeline! Pipelines can be composed and they keep pumping data through them. writeln does not

Re: Why I'm Excited about D

2015-04-07 Thread John Colvin via Digitalmars-d
On Monday, 6 April 2015 at 23:51:17 UTC, Adam Hawkins wrote: Hello everyone, this is my first post on the forum. I've been investigating the language for the past few weeks. I was able to complete my first useful program thanks to very helpful people in #d on IRC . The experience made me very

Re: Why I'm Excited about D

2015-04-07 Thread cym13 via Digitalmars-d
On Tuesday, 7 April 2015 at 01:12:20 UTC, bachmeier wrote: The thing I liked, coming from languages like R and Ruby, was that I could write D code in the most convenient, least efficient manner possible and still get good enough performance that it wouldn't matter. I find D to be easier to

Re: Why I'm Excited about D

2015-04-07 Thread ketmar via Digitalmars-d
On Mon, 06 Apr 2015 23:51:16 +, Adam Hawkins wrote: I've been reading the forums here so I can see that there is a focus on improving the marketing for the language and growing the community. I see most of the effort is geared towards C++ programmers, but have you considered looking at us

Re: Why I'm Excited about D

2015-04-07 Thread Jacob Carlborg via Digitalmars-d
On 2015-04-07 01:51, Adam Hawkins wrote: Only trade off in the Ruby case is metaprogramming. You can do metaprogramming in D, it's just a bit different compared to Ruby. -- /Jacob Carlborg

Re: Why I'm Excited about D

2015-04-07 Thread Jacob Carlborg via Digitalmars-d
On 2015-04-07 02:29, Adam D. Ruppe wrote: On Tuesday, 7 April 2015 at 00:15:51 UTC, w0rp wrote: [...]and runtime templates. The last two haven't been written yet. Really? Runtime templates aren't even hard to implement vibe.d has a template system. It's based on Jade, which seems to be

Re: Why I'm Excited about D

2015-04-07 Thread ixid via Digitalmars-d
import std.stdio, std.parallelism; auto names = [ Adam Hawkins, Peter Esselius ]; foreach(name; taskPool.parallel(names)) { writeln(name); } There is a convenience function in std.parallelism that allows you to write the following instead for your foreach loop: foreach (name;

Re: Why I'm Excited about D

2015-04-07 Thread Jacob Carlborg via Digitalmars-d
On 2015-04-07 10:33, John Colvin wrote: (parentheses are optional for all function calls), Optional for all function calls taking no arguments. Note that in Ruby parentheses are optional for function calls taking arguments as well. -- /Jacob Carlborg

Re: Why I'm Excited about D

2015-04-07 Thread Martin Nowak via Digitalmars-d
On 04/07/2015 08:28 AM, Jacob Carlborg wrote: vibe.d has a template system. It's based on Jade, which seems to be based on Haml. There is also a runtime template system, http://code.dlang.org/packages/mustache-d. See https://github.com/D-Programming-GDC/gdcproject for an example.

Re: Why I'm Excited about D

2015-04-07 Thread Jens Bauer via Digitalmars-d
On Tuesday, 7 April 2015 at 01:28:03 UTC, Rikki Cattermole wrote: I'm watching your progress closely. I think we are ready to get D properly on micro controllers and you are really testing, exploring it even. Johannes made some very important additions for regarding this. It might already be

Re: Why I'm Excited about D

2015-04-07 Thread John Colvin via Digitalmars-d
On Tuesday, 7 April 2015 at 11:16:56 UTC, Jacob Carlborg wrote: On 2015-04-07 10:33, John Colvin wrote: (parentheses are optional for all function calls), Optional for all function calls taking no arguments. Note that in Ruby parentheses are optional for function calls taking arguments as

Re: Why I'm Excited about D

2015-04-07 Thread Jens Bauer via Digitalmars-d
On Tuesday, 7 April 2015 at 08:33:58 UTC, John Colvin wrote: @property isn't really about parentheses-less calls (parentheses are optional for all function calls), it's more for this sort of thing: [snip] @property void val(int v) { a_ = (a_ flagMask) (v ~flagMask); }

Re: Why I'm Excited about D

2015-04-07 Thread John Colvin via Digitalmars-d
On Tuesday, 7 April 2015 at 14:20:58 UTC, Jens Bauer wrote: On Tuesday, 7 April 2015 at 08:33:58 UTC, John Colvin wrote: @property isn't really about parentheses-less calls (parentheses are optional for all function calls), it's more for this sort of thing: [snip] @property void val(int v)

Re: Why I'm Excited about D

2015-04-07 Thread Andrei Alexandrescu via Digitalmars-d
On 4/6/15 4:51 PM, Adam Hawkins wrote: Hello everyone, this is my first post on the forum. I've been investigating the language for the past few weeks. I was able to complete my first useful program thanks to very helpful people in #d on IRC . The experience made me very interested in the

Re: Why I'm Excited about D

2015-04-07 Thread Jens Bauer via Digitalmars-d
On Tuesday, 7 April 2015 at 16:39:39 UTC, Jens Bauer wrote: :C - :D Even better (includes the meaning of '=' in place of 'when'): =C - =D

Re: Why I'm Excited about D

2015-04-07 Thread Jens Bauer via Digitalmars-d
On Tuesday, 7 April 2015 at 16:29:40 UTC, Walter Bright wrote: I noticed a bug in one of the examples: assert(Adam Hawkins == myName()); should be: assert(Adam Hawkins == myName()); -It already is. :) By the way; the reason to switch from C to D can be put *very* simple: :C - :D

Re: Why I'm Excited about D

2015-04-07 Thread Adam D. Ruppe via Digitalmars-d
On Tuesday, 7 April 2015 at 06:28:49 UTC, Jacob Carlborg wrote: vibe.d has a template system. It's based on Jade, which seems to be based on Haml. Aye, though it is compile time rather than runtime which hurts the edit/run cycle - you have to recompile, redeploy (maybe), and restart just to

Re: Why I'm Excited about D

2015-04-07 Thread Walter Bright via Digitalmars-d
On 4/6/2015 4:51 PM, Adam Hawkins wrote: Hello everyone, this is my first post on the forum. I've been investigating the language for the past few weeks. I was able to complete my first useful program thanks to very helpful people in #d on IRC . The experience made me very interested in the

Re: Why I'm Excited about D

2015-04-07 Thread Jacob Carlborg via Digitalmars-d
On 2015-04-07 18:06, Adam D. Ruppe wrote: Aye, though it is compile time rather than runtime which hurts the edit/run cycle - you have to recompile, redeploy (maybe), and restart just to see a quick text change. Oh, right, that was what he meant with runtime :) -- /Jacob Carlborg

Re: Why I'm Excited about D

2015-04-07 Thread Walter Bright via Digitalmars-d
On 4/7/2015 9:28 AM, Walter Bright wrote: I noticed a bug in one of the examples: assert(Adam Hawkins == myName()); er, the example is: assert(Adam Hawkins = myName()); should be: assert(Adam Hawkins == myName());

Re: Why I'm Excited about D

2015-04-07 Thread Ary Borenszweig via Digitalmars-d
On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more consistent with UFCS: foreach (name; names.parallel) { name.writeln; } no.please wat

Re: Why I'm Excited about D

2015-04-07 Thread deadalnix via Digitalmars-d
On Tuesday, 7 April 2015 at 17:46:45 UTC, Ary Borenszweig wrote: It's true that Ruby is slow, but only because their priority is correctness. https://www.destroyallsoftware.com/talks/wat

Re: Why I'm Excited about D

2015-04-07 Thread Ary Borenszweig via Digitalmars-d
On 4/6/15 8:51 PM, Adam Hawkins wrote: Hello everyone, this is my first post on the forum. I've been investigating the language for the past few weeks. I was able to complete my first useful program thanks to very helpful people in #d on IRC . The experience made me very interested in the

Re: Why I'm Excited about D

2015-04-07 Thread deadalnix via Digitalmars-d
On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more consistent with UFCS: foreach (name; names.parallel) { name.writeln; } no.please

Re: Why I'm Excited about D

2015-04-07 Thread ketmar via Digitalmars-d
On Tue, 07 Apr 2015 14:20:57 +, Jens Bauer wrote: If just incrementing a value, one could do as follows: PortB = (PortB | 0x00f0) + 1; ... oposite for decrementing: PortB = (PortB 0xff0f) - 1; But the @property can make all this transparent, so our sources become very easy to

Re: Why I'm Excited about D

2015-04-07 Thread via Digitalmars-d
On Tuesday, 7 April 2015 at 18:21:44 UTC, H. S. Teoh wrote: Actually, I find the current use of = vs. == in programming languages rather counterintuitive, even though I myself have become accustomed to it as you have. If I were ever to invent my own programming language, I'd use = for equality

Re: Why I'm Excited about D

2015-04-07 Thread H. S. Teoh via Digitalmars-d
On Tue, Apr 07, 2015 at 11:04:35AM -0700, Walter Bright via Digitalmars-d wrote: On 4/7/2015 10:33 AM, bachmeier wrote: You're such a good programmer that you can't write code with a bug in it even if you try. We're all susceptible to making certain types of errors. Over time, we learn to

Re: Why I'm Excited about D

2015-04-07 Thread Martin Nowak via Digitalmars-d
On 04/07/2015 06:06 PM, Adam D. Ruppe wrote: In my web projects. I used compile time stuff sometimes too, but the runtime loading ultimately won out for the ease of editing by me and by the frontend team - they can edit html too without needing to worry about rerunning a compiler. That's why

Re: Why I'm Excited about D

2015-04-07 Thread bachmeier via Digitalmars-d
On Tuesday, 7 April 2015 at 17:03:55 UTC, Walter Bright wrote: On 4/7/2015 9:28 AM, Walter Bright wrote: I noticed a bug in one of the examples: assert(Adam Hawkins == myName()); er, the example is: assert(Adam Hawkins = myName()); should be: assert(Adam Hawkins == myName());

Re: Why I'm Excited about D

2015-04-07 Thread Walter Bright via Digitalmars-d
On 4/7/2015 10:33 AM, bachmeier wrote: You're such a good programmer that you can't write code with a bug in it even if you try. We're all susceptible to making certain types of errors. Over time, we learn to compensate for those errors, and don't make them any more. I can't remember the

Re: Why I'm Excited about D

2015-04-07 Thread deadalnix via Digitalmars-d
On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more consistent with UFCS: foreach (name; names.parallel) { name.writeln; } no.please wat unreadable.is.ufcs.using.over

Re: Why I'm Excited about D

2015-04-07 Thread Ary Borenszweig via Digitalmars-d
On 4/7/15 3:34 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more consistent with UFCS: foreach (name; names.parallel) { name.writeln; } no.please

Re: Why I'm Excited about D

2015-04-07 Thread Laeeth Isharc via Digitalmars-d
even if, to be fair, the prototyping part is way much easier in python... But that may be due to the gab of experience). what - beyond a richer choice of libraries (and documentation, including examples) would make D comparable to python in terms of prototyping ease?

Re: Why I'm Excited about D

2015-04-07 Thread H. S. Teoh via Digitalmars-d
On Tue, Apr 07, 2015 at 04:46:07PM -0300, Ary Borenszweig via Digitalmars-d wrote: On 4/7/15 3:34 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 08:58:57 UTC, ixid wrote: Or to be more

Re: Why I'm Excited about D

2015-04-07 Thread Andrei Alexandrescu via Digitalmars-d
On 4/7/15 3:27 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 22:24:21 UTC, Andrei Alexandrescu wrote: My current favorite WAT in D is: import std.stdio; void fun(string text) { import std.conv; writeln(text); } void main() { fun(Hello world); }

Re: Why I'm Excited about D

2015-04-07 Thread deadalnix via Digitalmars-d
On Tuesday, 7 April 2015 at 22:24:21 UTC, Andrei Alexandrescu wrote: My current favorite WAT in D is: import std.stdio; void fun(string text) { import std.conv; writeln(text); } void main() { fun(Hello world);

Re: Why I'm Excited about D

2015-04-07 Thread Adam D. Ruppe via Digitalmars-d
On Tuesday, 7 April 2015 at 22:22:35 UTC, Andrei Alexandrescu wrote: On 4/7/15 11:42 AM, Martin Nowak wrote: What's still missing is a faster AST interpreter for CTFE though. A JIT would be nice. -- Andrei I'm not so sure CTFE would ever get out of the warmup debt JITs incur, ctfe bits

Re: Why I'm Excited about D

2015-04-07 Thread Andrei Alexandrescu via Digitalmars-d
On 4/7/15 3:29 PM, Adam D. Ruppe wrote: On Tuesday, 7 April 2015 at 22:22:35 UTC, Andrei Alexandrescu wrote: On 4/7/15 11:42 AM, Martin Nowak wrote: What's still missing is a faster AST interpreter for CTFE though. A JIT would be nice. -- Andrei I'm not so sure CTFE would ever get out of

Re: Why I'm Excited about D

2015-04-07 Thread Andrei Alexandrescu via Digitalmars-d
On 4/7/15 11:42 AM, Martin Nowak wrote: What's still missing is a faster AST interpreter for CTFE though. A JIT would be nice. -- Andrei

Re: Why I'm Excited about D

2015-04-07 Thread Andrei Alexandrescu via Digitalmars-d
On 4/7/15 1:11 PM, H. S. Teoh via Digitalmars-d wrote: On Tue, Apr 07, 2015 at 04:46:07PM -0300, Ary Borenszweig via Digitalmars-d wrote: On 4/7/15 3:34 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 18:01:53 UTC, Ary Borenszweig wrote: On 4/7/15 2:16 PM, deadalnix wrote: On Tuesday, 7

Re: Why I'm Excited about D

2015-04-07 Thread Walter Bright via Digitalmars-d
On 4/7/2015 3:30 PM, Andrei Alexandrescu wrote: A JIT would pay off where it matters - intensive use of CTFE leading to long compilations. -- Andrei A decent interpreter would fix most of CTFE's performance problems, no need to go as far as a JIT.

Re: Why I'm Excited about D

2015-04-07 Thread Andrei Alexandrescu via Digitalmars-d
On 4/7/15 4:54 PM, deadalnix wrote: On Tuesday, 7 April 2015 at 22:59:00 UTC, Walter Bright wrote: On 4/7/2015 3:30 PM, Andrei Alexandrescu wrote: A JIT would pay off where it matters - intensive use of CTFE leading to long compilations. -- Andrei A decent interpreter would fix most of

  1   2   >