[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Comments on ‘wip-nio’
From: |
Ludovic Courtès |
Subject: |
Comments on ‘wip-nio’ |
Date: |
Wed, 21 Mar 2012 23:39:20 +0100 |
User-agent: |
Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.93 (gnu/linux) |
Hello,
I had a quick look at ‘wip-nio’, and here are initial comments.
• epoll is Linux-specific. Any idea how a more multi-platform API
could be provided? I guess libevent could be used, but we don’t
want to add one more dependency in 2.0. How much is (ice-9 nio)
dependent on epoll vs. poll, for instance?
• ‘nio’ doesn’t seem very descriptive to me; ‘nbio’ maybe?
• I agree that it’s an important problem to address, and I like the
use of coroutines, and I like that it actually solves the problem
for some applications like the web server.
However, I think the approach has shortcomings: (1) it doesn’t
accept other sources of events (timers, mouse clicks, etc.), and
(2) it doesn’t allow you to do something while waiting (of course,
other threads/waiters get scheduled, but the caller is just
waiting, so you can’t for instance update your progress bar while
waiting for your bytevector to arrive.)
Functional reactive programming à la FrTime [0], and synchronous
reactive programming à la HipHop [1] seem to be much more generic
and expressive. It would be great if Guile would come with such a
framework eventually. It’s probably more work, though, so it
probably makes sense to have an alternative mechanism in the
meantime.
WDYT?
Thanks,
Ludo’.
[0] http://www.cs.brown.edu/~greg/
[1] http://www-sop.inria.fr/members/Gerard.Berry/Papers/plastic2.pdf
- Comments on ‘wip-nio’,
Ludovic Courtès <=
Re: Comments on ‘wip-nio’, Andreas Rottmann, 2012/03/31