Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-27 Thread Nick B
Don wrote: Nick B wrote: Nick B wrote: Bartosz Milewski wrote: Nick B Wrote: Could you give us _any_ kind of test case (even if it's enormous)? Bartosz - are you able to provide a test case as requested by Don ? Then it might be possible, to get this bug fixed. Nick B. I can send you the

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-27 Thread Don
Nick B wrote: Don wrote: Nick B wrote: Nick B wrote: Bartosz Milewski wrote: Nick B Wrote: Could you give us _any_ kind of test case (even if it's enormous)? Bartosz - are you able to provide a test case as requested by Don ? Then it might be possible, to get this bug fixed. Nick B. I

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-27 Thread Nick B
Don wrote: Nick B wrote: Don wrote: Nick B wrote: Nick B wrote: Bartosz Milewski wrote: Nick B Wrote: Could you give us _any_ kind of test case (even if it's enormous)? Bartosz - are you able to provide a test case as requested by Don ? Then it might be possible, to get this bug fixed.

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-27 Thread bearophile
Don: 3423. My patch has already been included in the dmd svn, and Bartosz has a compiled DMD with the bug fixed. You are my third hero :-) (the first is Richard Feynman). Bye, bearophile

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-22 Thread Nick B
Leandro Lucarella wrote: Don, el 21 de octubre a las 09:46 me escribiste: All my public email addresses are fake. Bugzilla is just spam bait. It clearly comes from a more innocent age. I once made the mistake of submitting a bug to gcc. Although the GCC Bugzilla hides the email in the

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-22 Thread Leandro Lucarella
Nick B, el 22 de octubre a las 19:35 me escribiste: Leandro Lucarella wrote: Don, el 21 de octubre a las 09:46 me escribiste: All my public email addresses are fake. Bugzilla is just spam bait. It clearly comes from a more innocent age. I once made the mistake of submitting a bug to gcc.

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-22 Thread Denis Koroskin
On Thu, 22 Oct 2009 17:32:00 +0400, Leandro Lucarella llu...@gmail.com wrote: Nick B, el 22 de octubre a las 19:35 me escribiste: Leandro Lucarella wrote: Don, el 21 de octubre a las 09:46 me escribiste: All my public email addresses are fake. Bugzilla is just spam bait. It clearly comes

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-22 Thread Steven Schveighoffer
On Thu, 22 Oct 2009 09:32:00 -0400, Leandro Lucarella llu...@gmail.com wrote: Nick B, el 22 de octubre a las 19:35 me escribiste: Leandro Lucarella wrote: Don, el 21 de octubre a las 09:46 me escribiste: All my public email addresses are fake. Bugzilla is just spam bait. It clearly comes

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-21 Thread Leandro Lucarella
Don, el 21 de octubre a las 09:46 me escribiste: Nick B wrote: Don wrote: Don, are you able to contact Bartosz, re the details of this test case. Nick B Bartosz has sent it to me. I can reproduce the error. It's my top priority, but it'll take a while -- it's nasty. Don - thanks

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-20 Thread Don
Nick B wrote: Nick B wrote: Bartosz Milewski wrote: Nick B Wrote: Could you give us _any_ kind of test case (even if it's enormous)? Bartosz - are you able to provide a test case as requested by Don ? Then it might be possible, to get this bug fixed. Nick B. I can send you the files I

Re: Revamped concurrency API

2009-10-20 Thread Tim Matthews
Andrei Alexandrescu wrote: Speaking of switch, I have tried to convince Walter to require either a break; or a goto case xxx; at the end of each snippet inside a switch. I was surprised by his answer: but I use fall through all the time! :o) I personally think requiring a goto case xxx; is

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-20 Thread Leandro Lucarella
Don, el 20 de octubre a las 09:00 me escribiste: Unfortunately, I have undone some of my changes trying to bypass the bug, so at the moment I don't even have the buggy version, but it can be reconstructed. We can discuss it off-line, if you want. Use my email address with -nospam removed.

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-20 Thread Nick B
Don wrote: Don, are you able to contact Bartosz, re the details of this test case. Nick B Bartosz has sent it to me. I can reproduce the error. It's my top priority, but it'll take a while -- it's nasty. Don - thanks for filing this. I did try to contact you, via bugzilla email (which

Re: Revamped concurrency API

2009-10-16 Thread Chris Nicholson-Sauls
Bill Baxter wrote: case 1: case 3: break; should still be allowed. --bb Or replace with: case 1, 3: break; -- Chris Nicholson-Sauls

Re: Revamped concurrency API

2009-10-15 Thread bearophile
Bartosz Milewski: With every release of D we are narrowing our options. After D2 and TDPL, backward compatibility will become a major thing, so every ad-hoc feature in D2 will have to be carried over. D is a bit compatible with the C language, but one of the main selling points of D (D1, D2,

Re: Revamped concurrency API

2009-10-15 Thread Andrei Alexandrescu
bearophile wrote: Bartosz Milewski: With every release of D we are narrowing our options. After D2 and TDPL, backward compatibility will become a major thing, so every ad-hoc feature in D2 will have to be carried over. D is a bit compatible with the C language, but one of the main selling

Re: Revamped concurrency API

2009-10-15 Thread Bartosz Milewski
bearophile Wrote: Jeremie Pelletier: I vote for a 'lent' qualifier to be implemented in the compiler. You may be right, and Bartosz has explained me why and how to use lent. It sounds like a nice idea, but it has some costs too (in language complexity, for example). But I need to use

Re: Revamped concurrency API

2009-10-15 Thread Bill Baxter
On Thu, Oct 15, 2009 at 12:47 PM, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: bearophile wrote: Bartosz Milewski: With every release of D we are narrowing our options. After D2 and TDPL, backward compatibility will become a major thing, so every ad-hoc feature in D2 will have

Re: Revamped concurrency API

2009-10-15 Thread Fawzi Mohamed
On 2009-10-15 21:47:05 +0200, Andrei Alexandrescu seewebsiteforem...@erdani.org said: Speaking of switch, I have tried to convince Walter to require either a break; or a goto case xxx; at the end of each snippet inside a switch. I was surprised by his answer: but I use fall through all the

Re: Revamped concurrency API (Don can you contact Bartosz ?)

2009-10-15 Thread Nick B
Nick B wrote: Bartosz Milewski wrote: Nick B Wrote: Could you give us _any_ kind of test case (even if it's enormous)? Bartosz - are you able to provide a test case as requested by Don ? Then it might be possible, to get this bug fixed. Nick B. I can send you the files I have checked out.

Re: Revamped concurrency API

2009-10-14 Thread bearophile
Bartosz Milewski: It's good to know that my ideas are still circulating in the D community. Thanks, guys! They will keep circulating! And there's not just D in computer science, future computer languages may use your ideas. Someday I'll design my own C-like language, simpler (and more limited

Re: Revamped concurrency API

2009-10-14 Thread Don
Bartosz Milewski wrote: Nick B Wrote: Nick B wrote: Andrei Alexandrescu wrote: bearophile wrote: Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was

Re: Revamped concurrency API

2009-10-14 Thread Jeremie Pelletier
bearophile wrote: Bartosz Milewski: It's good to know that my ideas are still circulating in the D community. Thanks, guys! They will keep circulating! And there's not just D in computer science, future computer languages may use your ideas. Someday I'll design my own C-like language,

Re: Revamped concurrency API

2009-10-14 Thread Andrei Alexandrescu
Jeremie Pelletier wrote: Jeremie Pelletier wrote: I agree here, while I think Andrei's book is a must for the community to grow, it should rush the compiler. I strongly believe D2 needs proper shared and lent semantics, or else we're just creating a stepping stone for D3, leaving D2 in a

Re: Revamped concurrency API

2009-10-14 Thread Nick B
Andrei Alexandrescu wrote: For the record, I delayed signing for the book for quite a few months. Before I did sign, there was solemn agreement in the D team that we can commit. [snip] Commit to what, exactly ? Nick B

Re: Revamped concurrency API

2009-10-14 Thread Andrei Alexandrescu
Nick B wrote: Andrei Alexandrescu wrote: For the record, I delayed signing for the book for quite a few months. Before I did sign, there was solemn agreement in the D team that we can commit. [snip] Commit to what, exactly ? Nick B Commit to delivering the book and the language

Re: Revamped concurrency API

2009-10-14 Thread Nick B
Andrei Alexandrescu wrote: Commit to what, exactly ? Nick B Commit to delivering the book and the language matching it. Andrei To meet a final release of D 2.0 ? Nick B

Re: Revamped concurrency API

2009-10-14 Thread Andrei Alexandrescu
Nick B wrote: Andrei Alexandrescu wrote: Commit to what, exactly ? Nick B Commit to delivering the book and the language matching it. Andrei To meet a final release of D 2.0 ? Nick B Yes, that's the plan. D2 final release begets TDPL, and TDPL describes the final release of D2.

Re: Revamped concurrency API

2009-10-14 Thread Bartosz Milewski
bearophile Wrote: it's hard for me to subscribe to the good enough philosophy (as long as it's better that C++, it's fine for D). D language is largely grown, and not designed. D is not Scala or Haskell. ... So I think some of the design mistakes of D2 will be fixed in D3 :-) With

Re: Revamped concurrency API

2009-10-14 Thread Nick B
Don wrote: Bartosz Milewski wrote: [snip] Please stay in touch, we will try to win you back... Of the issues you mention, this one seems the easiest to address: As far as my thread work went, I had an almost working implementation of spawn, except for a nasty compiler bug which resisted

Re: Revamped concurrency API

2009-10-14 Thread Bartosz Milewski
Nick B Wrote: Could you give us _any_ kind of test case (even if it's enormous)? Bartosz - are you able to provide a test case as requested by Don ? Then it might be possible, to get this bug fixed. Nick B. I can send you the files I have checked out. The problem was in core.thread.

Re: Revamped concurrency API

2009-10-14 Thread Adam D. Ruppe
On Wed, Oct 14, 2009 at 05:56:10PM -0400, Bartosz Milewski wrote: The problem was in core.thread. I tried to implement a struct Tid (thread ID) with reference-counting semantics and deterministic destruction. It passed all the tests, but when it was used in one particular place in druntime it

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
Leandro Lucarella wrote: Jeremie Pelletier, el 12 de octubre a las 22:45 me escribiste: I agree. Particularly about lent. Immutable and mutable weren't considered complete without const, so I'm surprised that local and shared are considered complete without lent. You can even implement it

Re: Revamped concurrency API

2009-10-13 Thread Fawzi Mohamed
On 2009-10-13 03:17:13 +0200, Robert Jacques sandf...@jhu.edu said: On Mon, 12 Oct 2009 18:21:37 -0400, Fawzi Mohamed fmoha...@mac.com wrote: If anyone has ideas, suggestions, and code to help defining a new concurrency API for D, please post. I think that the correct way to handle

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
bearophile wrote: Jeremie Pelletier: I vote for a 'lent' qualifier to be implemented in the compiler. You may be right, and Bartosz has explained me why and how to use lent. It sounds like a nice idea, but it has some costs too (in language complexity, for example). But I need to use such

Re: Revamped concurrency API

2009-10-13 Thread Robert Jacques
On Tue, 13 Oct 2009 01:59:57 -0400, Jeremie Pelletier jerem...@gmail.com wrote: Leandro Lucarella wrote: Jeremie Pelletier, el 12 de octubre a las 22:45 me escribiste: I agree. Particularly about lent. Immutable and mutable weren't considered complete without const, so I'm surprised that

Re: Revamped concurrency API

2009-10-13 Thread Andrei Alexandrescu
Jeremie Pelletier wrote: Leandro Lucarella wrote: Jeremie Pelletier, el 12 de octubre a las 22:45 me escribiste: I agree. Particularly about lent. Immutable and mutable weren't considered complete without const, so I'm surprised that local and shared are considered complete without lent. You

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
bearophile wrote: Sean Kelly: For what it's worth, I've been experimenting with message-passing for one leg of the API. I decided to copy the Erlang API because it's very simple and easy to build fancier stuff on top of. You may also want to take a look at how actors are in Scala (I think

Re: Revamped concurrency API

2009-10-13 Thread Andrei Alexandrescu
Jeremie Pelletier wrote: bearophile wrote: Sean Kelly: For what it's worth, I've been experimenting with message-passing for one leg of the API. I decided to copy the Erlang API because it's very simple and easy to build fancier stuff on top of. You may also want to take a look at how

Re: Revamped concurrency API

2009-10-13 Thread Andrei Alexandrescu
Fawzi Mohamed wrote: On 2009-10-13 03:17:13 +0200, Robert Jacques sandf...@jhu.edu said: On Mon, 12 Oct 2009 18:21:37 -0400, Fawzi Mohamed fmoha...@mac.com wrote: If anyone has ideas, suggestions, and code to help defining a new concurrency API for D, please post. I think that the

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
Andrei Alexandrescu wrote: Jeremie Pelletier wrote: Leandro Lucarella wrote: Jeremie Pelletier, el 12 de octubre a las 22:45 me escribiste: I agree. Particularly about lent. Immutable and mutable weren't considered complete without const, so I'm surprised that local and shared are considered

Re: Revamped concurrency API

2009-10-13 Thread Sean Kelly
Andrei Alexandrescu Wrote: MIURA Masahiro wrote: Sean Kelly wrote: void sendmsg(T)( Pid pid, T val ); final void recvmsg(T...)( Pid pid, T ops ); Pid spawn(T)( T fun ); spawn() is pretty limited so far in that it only spawns threads--I'd expect that function to end up with multiple

Re: Revamped concurrency API

2009-10-13 Thread Robert Jacques
On Tue, 13 Oct 2009 02:25:07 -0400, Jeremie Pelletier jerem...@gmail.com wrote: Andrei Alexandrescu wrote: [snip] to lend loan lending are all of the same root. lent is the passive/simple past/past participle form of to lend. I guess is the French word is one of confer\'e or pr\^et\'e.

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
Robert Jacques wrote: On Tue, 13 Oct 2009 02:25:07 -0400, Jeremie Pelletier jerem...@gmail.com wrote: Andrei Alexandrescu wrote: [snip] to lend loan lending are all of the same root. lent is the passive/simple past/past participle form of to lend. I guess is the French word is one of

Re: Revamped concurrency API

2009-10-13 Thread Fawzi Mohamed
On 2009-10-13 07:45:41 +0200, Andrei Alexandrescu seewebsiteforem...@erdani.org said: MIURA Masahiro wrote: Sean Kelly wrote: void sendmsg(T)( Pid pid, T val ); final void recvmsg(T...)( Pid pid, T ops ); Pid spawn(T)( T fun ); spawn() is pretty limited so far in that it only spawns

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
Andrei Alexandrescu wrote: MIURA Masahiro wrote: Sean Kelly wrote: void sendmsg(T)( Pid pid, T val ); final void recvmsg(T...)( Pid pid, T ops ); Pid spawn(T)( T fun ); spawn() is pretty limited so far in that it only spawns threads--I'd expect that function to end up with multiple

Re: Revamped concurrency API

2009-10-13 Thread Robert Jacques
On Tue, 13 Oct 2009 02:50:41 -0400, Jeremie Pelletier jerem...@gmail.com wrote: Robert Jacques wrote: On Tue, 13 Oct 2009 02:25:07 -0400, Jeremie Pelletier jerem...@gmail.com wrote: Andrei Alexandrescu wrote: [snip] to lend loan lending are all of the same root. lent is the

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
Fawzi Mohamed wrote: On 2009-10-13 07:45:41 +0200, Andrei Alexandrescu seewebsiteforem...@erdani.org said: MIURA Masahiro wrote: Sean Kelly wrote: void sendmsg(T)( Pid pid, T val ); final void recvmsg(T...)( Pid pid, T ops ); Pid spawn(T)( T fun ); spawn() is pretty limited so far in that

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
Robert Jacques wrote: On Tue, 13 Oct 2009 02:50:41 -0400, Jeremie Pelletier jerem...@gmail.com wrote: Robert Jacques wrote: On Tue, 13 Oct 2009 02:25:07 -0400, Jeremie Pelletier jerem...@gmail.com wrote: Andrei Alexandrescu wrote: [snip] to lend loan lending are all of the same root.

Re: Revamped concurrency API

2009-10-13 Thread MIURA Masahiro
Jeremie Pelletier wrote: I also don't believe one model is ruling them all. Let me clarity this, just in case I have caused an unnecessary confusion: I think Sean's Erlang-like API is meant to coexist with the current core.thread, and that you can use one or both of them to build higher-level

Re: Revamped concurrency API

2009-10-13 Thread Don
Jeremie Pelletier wrote: bearophile wrote: Jeremie Pelletier: I vote for a 'lent' qualifier to be implemented in the compiler. You may be right, and Bartosz has explained me why and how to use lent. It sounds like a nice idea, but it has some costs too (in language complexity, for

Re: Revamped concurrency API

2009-10-13 Thread Denis Koroskin
On Tue, 13 Oct 2009 10:10:31 +0400, Jeremie Pelletier jerem...@gmail.com wrote: I never liked the Object vs Object? syntax, that would just create ambiguity with the ternary conditional. D already dropped the template syntax from C++ to drop the ambiguity with and comparison operators.

Re: Revamped concurrency API

2009-10-13 Thread Michel Fortin
On 2009-10-13 02:16:30 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org said: P.S. Beer? Coffee? Marriage? I'll be in Quebec City on Dec 10th and 11th for a talk. So you'll be in my city too. :-) How many of us are in Quebec City? -- Michel Fortin michel.for...@michelf.com

Re: Revamped concurrency API

2009-10-13 Thread Leandro Lucarella
Jeremie Pelletier, el 13 de octubre a las 01:59 me escribiste: Leandro Lucarella wrote: Jeremie Pelletier, el 12 de octubre a las 22:45 me escribiste: I agree. Particularly about lent. Immutable and mutable weren't considered complete without const, so I'm surprised that local and shared are

Re: Revamped concurrency API

2009-10-13 Thread Andrei Alexandrescu
MIURA Masahiro wrote: Jeremie Pelletier wrote: I also don't believe one model is ruling them all. Let me clarity this, just in case I have caused an unnecessary confusion: I think Sean's Erlang-like API is meant to coexist with the current core.thread, and that you can use one or both of

Re: Revamped concurrency API

2009-10-13 Thread Sean Kelly
MIURA Masahiro Wrote: Jeremie Pelletier wrote: I also don't believe one model is ruling them all. Let me clarity this, just in case I have caused an unnecessary confusion: I think Sean's Erlang-like API is meant to coexist with the current core.thread, and that you can use one or both

Re: Revamped concurrency API

2009-10-13 Thread Michel Fortin
On 2009-10-13 11:39:21 -0400, Sean Kelly s...@invisibleduck.org said: I disagree about poor performance though. With unique references or move semantics, a copy of even complex data isn't necessary to ensure that a message is passed safely. Yeah, but for unique reference to be usable you

Re: Revamped concurrency API

2009-10-13 Thread Robert Jacques
On Tue, 13 Oct 2009 11:19:30 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: MIURA Masahiro wrote: Jeremie Pelletier wrote: I also don't believe one model is ruling them all. Let me clarity this, just in case I have caused an unnecessary confusion: I think Sean's

Re: Revamped concurrency API

2009-10-13 Thread Jeremie Pelletier
Robert Jacques wrote: On Tue, 13 Oct 2009 11:19:30 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: MIURA Masahiro wrote: Jeremie Pelletier wrote: I also don't believe one model is ruling them all. Let me clarity this, just in case I have caused an unnecessary confusion: I

Re: Revamped concurrency API

2009-10-13 Thread Andrei Alexandrescu
Robert Jacques wrote: On Tue, 13 Oct 2009 11:19:30 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: MIURA Masahiro wrote: Jeremie Pelletier wrote: I also don't believe one model is ruling them all. Let me clarity this, just in case I have caused an unnecessary confusion: I

Re: Revamped concurrency API

2009-10-13 Thread Sean Kelly
Michel Fortin Wrote: On 2009-10-13 11:39:21 -0400, Sean Kelly s...@invisibleduck.org said: I disagree about poor performance though. With unique references or move semantics, a copy of even complex data isn't necessary to ensure that a message is passed safely. Yeah, but for unique

Re: Revamped concurrency API

2009-10-13 Thread Bartosz Milewski
Nick B Wrote: Nick B wrote: Andrei Alexandrescu wrote: bearophile wrote: Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was very happy about

Re: Revamped concurrency API

2009-10-13 Thread Michel Fortin
On 2009-10-13 18:26:04 -0400, Bartosz Milewski bartosz-nos...@relisoft.com said: I didn't so much decline to contribute as hit a wall. I'm a bit of a perfectionist and it's hard for me to subscribe to the good enough philosophy (as long as it's better that C++, it's fine for D). My

Revamped concurrency API

2009-10-12 Thread Andrei Alexandrescu
Occasionally people here ask for ways in which they can help D. One thing that would be extremely helpful at this point would be to help defining and implementing D's new concurrency API. Unfortunately, Bartosz has declined to contribute. That leaves Walter, Sean, Don, and participants to this

Re: Revamped concurrency API

2009-10-12 Thread Jeremie Pelletier
Andrei Alexandrescu wrote: Occasionally people here ask for ways in which they can help D. One thing that would be extremely helpful at this point would be to help defining and implementing D's new concurrency API. Unfortunately, Bartosz has declined to contribute. That leaves Walter, Sean,

Re: Revamped concurrency API

2009-10-12 Thread Sean Kelly
== Quote from Andrei Alexandrescu (seewebsiteforem...@erdani.org)'s article Occasionally people here ask for ways in which they can help D. One thing that would be extremely helpful at this point would be to help defining and implementing D's new concurrency API. Unfortunately, Bartosz has

Re: Revamped concurrency API

2009-10-12 Thread Sean Kelly
Sean Kelly Wrote: void sendmsg(T)( Pid pid, T val ); final void recvmsg(T...)( Pid pid, T ops ); Oops, I should mention that 'pid' shouldn't be in recvmsg. I just have it in there for now for testing purposes.

Re: Revamped concurrency API

2009-10-12 Thread bearophile
Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was very happy about the idea of helping D concurrency. Do you know why he has changed his mind regarding

Re: Revamped concurrency API

2009-10-12 Thread Andrei Alexandrescu
bearophile wrote: Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was very happy about the idea of helping D concurrency. Do you know why he has changed

Re: Revamped concurrency API

2009-10-12 Thread Nick B
bearophile wrote: Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was very happy about the idea of helping D concurrency. Do you know why he has changed

Re: Revamped concurrency API

2009-10-12 Thread Nick B
Andrei Alexandrescu wrote: bearophile wrote: Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was very happy about the idea of helping D concurrency. Do

Re: Revamped concurrency API

2009-10-12 Thread Andrei Alexandrescu
Nick B wrote: Andrei Alexandrescu wrote: bearophile wrote: Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was very happy about the idea of helping D

Re: Revamped concurrency API

2009-10-12 Thread Nick B
Nick B wrote: Andrei Alexandrescu wrote: bearophile wrote: Andrei Alexandrescu: Unfortunately, Bartosz has declined to contribute. I have read a good amount of his interesting blog posts, he has shown me many things I didn't know about. And he was very happy about the idea of helping D

Re: Revamped concurrency API

2009-10-12 Thread Fawzi Mohamed
If anyone has ideas, suggestions, and code to help defining a new concurrency API for D, please post. I think that the correct way to handle concurrency is through a library, D is flexible enough, so that a library can be used, and then one can even write special handlers for special cases.

Re: Revamped concurrency API

2009-10-12 Thread Robert Jacques
On Mon, 12 Oct 2009 18:21:37 -0400, Fawzi Mohamed fmoha...@mac.com wrote: If anyone has ideas, suggestions, and code to help defining a new concurrency API for D, please post. I think that the correct way to handle concurrency is through a library, D is flexible enough, so that a library

Re: Revamped concurrency API

2009-10-12 Thread Sam Hu
Nick B Wrote: Is this the way serious architecture decisions should be made ? Would Walter/Bartosz/Andrei like to comment further Nick B Good point.

Re: Revamped concurrency API

2009-10-12 Thread Michel Fortin
On 2009-10-12 11:45:55 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org said: Occasionally people here ask for ways in which they can help D. One thing that would be extremely helpful at this point would be to help defining and implementing D's new concurrency API. Unfortunately,

Re: Revamped concurrency API

2009-10-12 Thread Robert Jacques
On Mon, 12 Oct 2009 21:45:20 -0400, Michel Fortin michel.for...@michelf.com wrote: On 2009-10-12 11:45:55 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org said: Occasionally people here ask for ways in which they can help D. One thing that would be extremely helpful at this point

Re: Revamped concurrency API

2009-10-12 Thread Jeremie Pelletier
Robert Jacques wrote: On Mon, 12 Oct 2009 21:45:20 -0400, Michel Fortin michel.for...@michelf.com wrote: On 2009-10-12 11:45:55 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org said: Occasionally people here ask for ways in which they can help D. One thing that would be extremely

Re: Revamped concurrency API

2009-10-12 Thread Leandro Lucarella
Jeremie Pelletier, el 12 de octubre a las 22:45 me escribiste: I agree. Particularly about lent. Immutable and mutable weren't considered complete without const, so I'm surprised that local and shared are considered complete without lent. You can even implement it without escape analysis.

Re: Revamped concurrency API

2009-10-12 Thread bearophile
Jeremie Pelletier: I vote for a 'lent' qualifier to be implemented in the compiler. You may be right, and Bartosz has explained me why and how to use lent. It sounds like a nice idea, but it has some costs too (in language complexity, for example). But I need to use such things in practice,

Re: Revamped concurrency API

2009-10-12 Thread MIURA Masahiro
Sean Kelly wrote: void sendmsg(T)( Pid pid, T val ); final void recvmsg(T...)( Pid pid, T ops ); Pid spawn(T)( T fun ); spawn() is pretty limited so far in that it only spawns threads--I'd expect that function to end up with multiple overloads at some point. Interesting. Future spawn()

Re: Revamped concurrency API

2009-10-12 Thread Andrei Alexandrescu
MIURA Masahiro wrote: Sean Kelly wrote: void sendmsg(T)( Pid pid, T val ); final void recvmsg(T...)( Pid pid, T ops ); Pid spawn(T)( T fun ); spawn() is pretty limited so far in that it only spawns threads--I'd expect that function to end up with multiple overloads at some point.