Re: TLBB: The Last Big Breakage

2015-10-11 Thread Andrej Mitrovic via Digitalmars-d
On Sunday, 16 March 2014 at 04:08:15 UTC, Andrei Alexandrescu wrote: D1's approach to multithreading was wanting. D2 executed a big departure from that with the shared qualifier and the default-thread-local approach to data. We think this is a win, but D2 inherited a lot of D1's thread-relate

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-19 Thread David Nadlinger
On Wednesday, 19 March 2014 at 10:41:59 UTC, bearophile wrote: Kagamin: Don't even think, ranges are not better. I am thinking about syntax sugar that the compiler uses to create a input/forward range similar to this: http://forum.dlang.org/post/awabysprjjnrxrhgq...@forum.dlang.org There

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-19 Thread bearophile
Kagamin: Don't even think, ranges are not better. I am thinking about syntax sugar that the compiler uses to create a input/forward range similar to this: http://forum.dlang.org/post/awabysprjjnrxrhgq...@forum.dlang.org Bye, bearophile

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-19 Thread Kagamin
On Sunday, 16 March 2014 at 13:55:24 UTC, bearophile wrote: Benjamin Thaut: Could you please explain in a bit more detail why you think opApply should be deprecated? To replace it with something better. Don't even think, ranges are not better.

Re: TLBB: The Last Big Breakage

2014-03-18 Thread deadalnix
On Tuesday, 18 March 2014 at 13:49:54 UTC, Dicebot wrote: I still have zero understanding of what "synchronized" is supposed to mean an only vague guesses about "shared". Probably have never used either of those apart of "shared static this()" module constructors. Having some examples of how co

Re: TLBB: The Last Big Breakage

2014-03-18 Thread Andrei Alexandrescu
On 3/18/14, 6:49 AM, Dicebot wrote: I still have zero understanding of what "synchronized" is supposed to mean an only vague guesses about "shared". Probably have never used either of those apart of "shared static this()" module constructors. Having some examples of how code is supposed to behave

Re: TLBB: The Last Big Breakage

2014-03-18 Thread Dicebot
On Sunday, 16 March 2014 at 04:08:15 UTC, Andrei Alexandrescu wrote: D1's approach to multithreading was wanting. D2 executed a big departure from that with the shared qualifier and the default-thread-local approach to data. We think this is a win, but D2 inherited a lot of D1's thread-relate

Re: TLBB: The Last Big Breakage

2014-03-18 Thread Marco Leise
Am Mon, 17 Mar 2014 14:16:19 + schrieb "Jesse Phillips" : > On Monday, 17 March 2014 at 05:14:40 UTC, Marco Leise wrote: > >> Deprecation is breaking code, it's a good way to to do it, but > >> you shouldn't kid yourself that it isn't a breaking change. > > > > It certainly is a subjective ma

Re: TLBB: The Last Big Breakage

2014-03-17 Thread Nick Treleaven
On Monday, 17 March 2014 at 08:48:36 UTC, Andrea wrote: IMHO we have a bunch of breaking changes already planned for the future and it'll be a bit more difficult than that to fix the code. Maybe I'm not aware of it and it already exists, but we should create a page where deprecated features are

Re: TLBB: The Last Big Breakage

2014-03-17 Thread Jesse Phillips
On Monday, 17 March 2014 at 08:48:36 UTC, Andrea wrote: IMHO we have a bunch of breaking changes already planned for the future and it'll be a bit more difficult than that to fix the code. Maybe I'm not aware of it and it already exists, but we should create a page where deprecated features are

Re: TLBB: The Last Big Breakage

2014-03-17 Thread Jesse Phillips
On Monday, 17 March 2014 at 05:14:40 UTC, Marco Leise wrote: Deprecation is breaking code, it's a good way to to do it, but you shouldn't kid yourself that it isn't a breaking change. It certainly is a subjective matter. I don't see how it is. How do you define a change which has broken code

Re: TLBB: The Last Big Breakage

2014-03-17 Thread Andrea
On Monday, 17 March 2014 at 05:14:40 UTC, Marco Leise wrote: Am Mon, 17 Mar 2014 03:57:10 + schrieb "Jesse Phillips" : On Sunday, 16 March 2014 at 21:15:29 UTC, Martin Nowak wrote: > Please think hard about this. Why does it need to break code? > Can't we have a proper deprecation cycle? >

Re: TLBB: The Last Big Breakage

2014-03-17 Thread Andrea
On Sunday, 16 March 2014 at 15:05:45 UTC, Andrej Mitrovic wrote: On 3/16/14, Andrea wrote: In the short term the current "broken" code will still work without having to be rewritten. You'll end up in the same situation as Python 3. Most people will not only keep existing code, but continue t

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Marco Leise
Am Mon, 17 Mar 2014 03:57:10 + schrieb "Jesse Phillips" : > On Sunday, 16 March 2014 at 21:15:29 UTC, Martin Nowak wrote: > > Please think hard about this. Why does it need to break code? > > Can't we have a proper deprecation cycle? > > Until now it was always possible to add proper deprecati

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Jesse Phillips
On Sunday, 16 March 2014 at 21:15:29 UTC, Martin Nowak wrote: Please think hard about this. Why does it need to break code? Can't we have a proper deprecation cycle? Until now it was always possible to add proper deprecation warnings and allow people to transition code at their own pace. I'm op

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Martin Nowak
On 03/16/2014 05:08 AM, Andrei Alexandrescu wrote: This will statically break code. It will refuse to compile code that is incorrect, but also plenty of code that is correct; the compiler will demand extra guarantees from user code, be they in the form of casts and stated assumptions. I believe

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Jesse Phillips
On Sunday, 16 March 2014 at 04:08:15 UTC, Andrei Alexandrescu wrote: I believe this is a bridge we do need to cross. One question is how we go about it: all at once, or gradually? I don't think this is quite the right question to ask. In the ideal, all changes would be placed in the compiler a

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-16 Thread bearophile
Andrei Alexandrescu: On 3/16/14, 8:59 AM, bearophile wrote: (and some Rust people say D "scope" can't be very useful). [citation needed] It was part of a much longer discussion on Reddit, few weeks ago. "scope" is a blunt tool compared to the region analysis of Rust. But this is not impor

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-16 Thread Andrei Alexandrescu
On 3/16/14, 8:59 AM, bearophile wrote: (and some Rust people say D "scope" can't be very useful). [citation needed] Andrei

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-16 Thread bearophile
Another breaking change could be the I think the implementation of "scope" could break quite more user code than the introduction of "final by default" class methods, because "in" function argument are common and they mean "scope const". There is not even a DIP for scope (and some Rust people

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Russel Winder
On Sun, 2014-03-16 at 16:05 +0100, Andrej Mitrovic wrote: […] > You'll end up in the same situation as Python 3. Most people will not > only keep existing code, but continue to write *more of it*. By the > time the "compatibility profile" is removed, it's going to become 100x > harder to change all

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Andrej Mitrovic
On 3/16/14, Andrea wrote: > In the > short term the current "broken" code will still work without > having to be rewritten. You'll end up in the same situation as Python 3. Most people will not only keep existing code, but continue to write *more of it*. By the time the "compatibility profile" is

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Andrea
I'm a newcomer to D so I may not be aware of many things that are going on in this community. If by any change I write anything stupid let me know. Also this may not be the right thread to post this and I'm sorry for that. That being said... I'm seeing a lot a major breaking changes being disc

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-16 Thread bearophile
Benjamin Thaut: Could you please explain in a bit more detail why you think opApply should be deprecated? To replace it with something better. But this discussion is off-topic for this thread, that is about "synchronized" or its alternatives. I didn't mean to derail the main thread. Bye, b

Re: Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-16 Thread Benjamin Thaut
Am 16.03.2014 13:44, schrieb bearophile: Another breaking change could be the deprecation of the now nearly useless opApply() (only std.array.array works with it) and replacing it with a nice external iterator D syntax sugar to define a forward iterator: http://journal.stuffwithstuff.com/2013/01

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Mathias LANG
On Sunday, 16 March 2014 at 04:08:15 UTC, Andrei Alexandrescu wrote: I believe this is a bridge we do need to cross. One question is how we go about it: all at once, or gradually? IMHO, it would be better to do all-at-once. It would also be better to target a release to work on this issue (eg.

Not the last breakage (Was: TLBB: The Last Big Breakage)

2014-03-16 Thread bearophile
Another breaking change could be the deprecation of the now nearly useless opApply() (only std.array.array works with it) and replacing it with a nice external iterator D syntax sugar to define a forward iterator: http://journal.stuffwithstuff.com/2013/01/13/iteration-inside-and-out/ Another

Re: TLBB: The Last Big Breakage

2014-03-16 Thread luka8088
On 16.3.2014. 5:08, Andrei Alexandrescu wrote: > D1's approach to multithreading was wanting. D2 executed a big departure > from that with the shared qualifier and the default-thread-local > approach to data. > > We think this is a win, but D2 inherited a lot of D1's thread-related > behavior by d

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Michel Fortin
On 2014-03-16 04:08:18 +, Andrei Alexandrescu said: Fixing that has not gained focus until recently, when e.g. https://github.com/D-Programming-Language/dmd/pull/3067 has come about. Synchronized classes should be trashed. The whole concept is very prone to mistakes that could cause dea

Re: TLBB: The Last Big Breakage

2014-03-16 Thread Russel Winder
On Sat, 2014-03-15 at 21:08 -0700, Andrei Alexandrescu wrote: […] > I believe this is a bridge we do need to cross. One question is how we > go about it: all at once, or gradually? Given that it is a breaking change, the sooner the better and as much of it at once as possible. Perhaps changing th

Re: TLBB: The Last Big Breakage

2014-03-15 Thread deadalnix
On Sunday, 16 March 2014 at 04:08:15 UTC, Andrei Alexandrescu wrote: D1's approach to multithreading was wanting. D2 executed a big departure from that with the shared qualifier and the default-thread-local approach to data. We think this is a win, but D2 inherited a lot of D1's thread-relate

Re: TLBB: The Last Big Breakage

2014-03-15 Thread Daniel Kozak
ASAP please. Dne 16. 3. 2014 5:10 "Andrei Alexandrescu" napsal(a): > D1's approach to multithreading was wanting. D2 executed a big departure > from that with the shared qualifier and the default-thread-local approach > to data. > > We think this is a win, but D2 inherited a lot of D1's thread-re

TLBB: The Last Big Breakage

2014-03-15 Thread Andrei Alexandrescu
D1's approach to multithreading was wanting. D2 executed a big departure from that with the shared qualifier and the default-thread-local approach to data. We think this is a win, but D2 inherited a lot of D1's thread-related behavior by default, and some of the rules introduced by TDPL (http