Re: ice-9 async-queue

2012-03-07 Thread Ludovic Courtès
Hi! Andy Wingo skribis: > On Wed 08 Feb 2012 14:44, l...@gnu.org (Ludovic Courtès) writes: > >> What do you think of adding a ‘cancel’ primitive to futures? > > It sounds good, but tricky to implement. I'm also not sure it's exactly > the right interface -- for example, Java seems to have switc

Re: ice-9 async-queue

2012-03-03 Thread Andy Wingo
Hi Ludo :) Picking up some loose ends... On Wed 08 Feb 2012 14:44, l...@gnu.org (Ludovic Courtès) writes: > What do you think of adding a ‘cancel’ primitive to futures? It sounds good, but tricky to implement. I'm also not sure it's exactly the right interface -- for example, Java seems to hav

Re: ice-9 async-queue

2012-02-08 Thread Ludovic Courtès
Hi! Andy Wingo skribis: > The web server is single-threaded and uses blocking IO (though it does > poll(2) for keepalive). As such, any slow writer or slow reader can > block the process. Using non-blocking I/O is too difficult, for now. > So, threads. > > I'd like to create a pool of threads

Re: ice-9 async-queue

2012-02-08 Thread Daniel Hartwig
On 8 February 2012 05:46, Andy Wingo wrote: >> I presume the final version will include a type and empty-ness >> predicate also? > > A type predicate, yes.  And some other things; see > wip-threaded-web-server. > > Would you find an emptiness predicate useful?  It sounds like one of > those things

Re: ice-9 async-queue

2012-02-07 Thread Andy Wingo
On Tue 07 Feb 2012 11:02, Daniel Hartwig writes: > Note that these verbs conflict with those defined in (ice-9 q) where > "push" adds elements to the front, not the rear, of the queue. Hum, indeed. I guess (ice-9 q) is actually a deque... > I presume the final version will include a type and e

Re: ice-9 async-queue

2012-02-07 Thread Daniel Hartwig
>            async-queue-push! >            async-queue-pop! async-queue-try-pop!)) Note that these verbs conflict with those defined in (ice-9 q) where "push" adds elements to the front, not the rear, of the queue. This is a very tidy implementation. I presume the final version will include a

Re: ice-9 async-queue

2012-02-07 Thread Andy Wingo
On Mon 06 Feb 2012 23:57, l...@gnu.org (Ludovic Courtès) writes: > Andy Wingo skribis: > >> I was thinking of adding the following to Guile, to eventually help make >> the web server a little less terrible. What do you think? > > An “asynchronous queue” is a queue of tasks, right? It's a messag

Re: ice-9 async-queue

2012-02-07 Thread Andy Wingo
On Mon 06 Feb 2012 23:09, Mike Gran writes: > maybe either (ice-9 q) or (ice-9 async-queue) could become a > generalized version and the other could become a specific version or > the same codebase. I forgot to mention the other way: ice-9 q can't be a specific version of anything else, because

Re: ice-9 async-queue

2012-02-07 Thread Andy Wingo
Hi Mike, On Mon 06 Feb 2012 23:09, Mike Gran writes: >> From: Andy Wingo >>Subject: ice-9 async-queue >>;;; Asynchronous queues > > FYI, there is also an (ice-9 q).  I haven't really looked > at it, but, maybe either (ice-9 q) or (ice-9 async-queue) > could become a generalized version and the

Re: ice-9 async-queue

2012-02-06 Thread Ludovic Courtès
Hi! Andy Wingo skribis: > I was thinking of adding the following to Guile, to eventually help make > the web server a little less terrible. What do you think? An “asynchronous queue” is a queue of tasks, right? What kind of tasks would it be: I/O? Computation? How does it fit with the web s

Re: ice-9 async-queue

2012-02-06 Thread Mike Gran
> From: Andy Wingo >Subject: ice-9 async-queue >;;; Asynchronous queues Hey Andy,   FYI, there is also an (ice-9 q).  I haven't really looked at it, but, maybe either (ice-9 q) or (ice-9 async-queue) could become a generalized version and the other could become a specific version or the same code