On Thu, Mar 22, 2012 at 6:39 AM, Ludovic Courtès <l...@gnu.org> wrote:

> 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?
>
>
Maybe add a module named "(ice-9 linux)"? And we may add more
Linux-specific things.
Also "(ice-9 bsd)" which provides "kqueue" or other interesting things.
If users try to use BSD-specific modules under Linux, we may throw an
exception. And functions like
"under-bsd?" or "under-linux?" maybe helpful.
Anyway, libevent for Guile is also a good idea. But I don't think libevent
should integrate into Guile. We can write
a standalone guile-libevent.

 • ‘nio’ doesn’t seem very descriptive to me; ‘nbio’ maybe?
>

In my server project, I named it "aio" since it's asynchronous.


>
>  • 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
>
>
>
>

Reply via email to