Re: concurrency call to arms

2018-09-26 Thread John Belmonte via Digitalmars-d
On Thursday, 16 August 2018 at 20:30:26 UTC, John Belmonte wrote: These are novel control structures for managing concurrency. Combining this with cooperative multitasking and explicit, plainly-visible context switching (i.e. async/await-- sorry Olshansky) yields something truly at the

Re: concurrency call to arms

2018-09-14 Thread John Belmonte via Digitalmars-d
On Tuesday, 28 August 2018 at 20:05:32 UTC, Russel Winder wrote: But that is the point, this is Python specific, and yet the motivating example is a misunderstanding of how Go is used. This inconsistency seriously undermines the general argument. I don't believe I misunderstand how Go is

Re: concurrency call to arms

2018-08-28 Thread Russel Winder via Digitalmars-d
On Tue, 2018-08-28 at 03:36 +, John Belmonte via Digitalmars-d wrote: > On Wednesday, 22 August 2018 at 16:49:01 UTC, Russel Winder wrote: > > Have you tried asyncio in the Python standard library? Is Trio > > better? > > The library that Guido admits is a disaster? >

Re: concurrency call to arms

2018-08-27 Thread John Belmonte via Digitalmars-d
On Wednesday, 22 August 2018 at 16:49:01 UTC, Russel Winder wrote: Have you tried asyncio in the Python standard library? Is Trio better? The library that Guido admits is a disaster? https://twitter.com/gvanrossum/status/938445451908472832 Trio and libraries like it have evolved out of

Re: concurrency call to arms

2018-08-23 Thread Russel Winder via Digitalmars-d
On Wed, 2018-08-22 at 12:00 -0700, H. S. Teoh via Digitalmars-d wrote: […] > > I approached the article from a language-independent viewpoint. While > I > know a little bit of Python, I wasn't really very interested in the > Python-specific aspects of the article, nor in the specific >

Re: concurrency call to arms

2018-08-22 Thread H. S. Teoh via Digitalmars-d
On Wed, Aug 22, 2018 at 05:56:09PM +0100, Russel Winder via Digitalmars-d wrote: > On Thu, 2018-08-16 at 16:33 -0700, H. S. Teoh via Digitalmars-d wrote: > […] > > I read both articles, and am quite impressed by the revolutionary > > way of looking at concurrency. It provides a clean(er)

Re: concurrency call to arms

2018-08-22 Thread Russel Winder via Digitalmars-d
On Fri, 2018-08-17 at 18:36 +1200, rikki cattermole via Digitalmars-d wrote: > After reading the article I can say, it isn't any better than async > and > await for dependencies. You still need an event loop. > > […] Or a work stealing threadpool. Event loops are only really needed in contexts

Re: concurrency call to arms

2018-08-22 Thread Russel Winder via Digitalmars-d
On Thu, 2018-08-16 at 16:33 -0700, H. S. Teoh via Digitalmars-d wrote: > […] > I read both articles, and am quite impressed by the revolutionary way > of > looking at concurrency. It provides a clean(er) abstraction that can > be > reasoned about much more easily than currently prevalent models

Re: concurrency call to arms

2018-08-22 Thread Russel Winder via Digitalmars-d
On Thu, 2018-08-16 at 20:30 +, John Belmonte via Digitalmars-d wrote: > This is actually not about war; rather the peace and prosperity > of people writing concurrent programs. > > (Andrei, I hope you are reading and will check out >

Re: concurrency call to arms

2018-08-18 Thread John Belmonte via Digitalmars-d
On Friday, 17 August 2018 at 06:36:36 UTC, rikki cattermole wrote: Because we have an event loop, we don't need a nursery! It comes free of charge. It also means we don't need that with statement... hang on that now becomes await and async! Just without the await (auto added in scope(exit),

Re: concurrency call to arms

2018-08-17 Thread H. S. Teoh via Digitalmars-d
On Fri, Aug 17, 2018 at 06:36:36PM +1200, rikki cattermole via Digitalmars-d wrote: > After reading the article I can say, it isn't any better than async > and await for dependencies. You still need an event loop. > > The problem is that joining that happens at the end of that block > needs to

Re: concurrency call to arms

2018-08-17 Thread rikki cattermole via Digitalmars-d
After reading the article I can say, it isn't any better than async and await for dependencies. You still need an event loop. The problem is that joining that happens at the end of that block needs to run the event loop for iterations until it completes. Which is wonderful if you're not doing

Re: concurrency call to arms

2018-08-16 Thread John Belmonte via Digitalmars-d
On Thursday, 16 August 2018 at 23:33:04 UTC, H. S. Teoh wrote: However, it would seem to require language support, no? It's going to be a tough sell to Walter & Andrei if it requires language support. (Though IMO it's worth it.) To implement scoped nursery and cancellation? I hope it could

Re: concurrency call to arms

2018-08-16 Thread H. S. Teoh via Digitalmars-d
On Thu, Aug 16, 2018 at 08:30:26PM +, John Belmonte via Digitalmars-d wrote: [...] > (Andrei, I hope you are reading and will check out > https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/ > and

concurrency call to arms

2018-08-16 Thread John Belmonte via Digitalmars-d
This is actually not about war; rather the peace and prosperity of people writing concurrent programs. (Andrei, I hope you are reading and will check out https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/ and