guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hack the (init) system!


From: Andy Wingo
Subject: Re: Hack the (init) system!
Date: Mon, 28 Sep 2015 09:13:03 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

On Fri 25 Sep 2015 23:04, Christopher Allan Webber <address@hidden> writes:

> I wonder if it's about time that Guile get something along the lines of
> a well-supported, general event loop system?

I think Guile needs user-space threads, implemented on top of delimited
continuations.  With threads, you don't need to invert control in your
program.  Racket takes this approach as well.

To get there we need to expose port buffers to Scheme, mark all file
descriptors as nonblocking, and cause EWOULDBLOCK to suspend the current
green thread.  I had a prototype working a while back on the
wip-ethreads branch, but you don't want to introduce a separate port
type -- really you want to have this work on all ports, so that's the
hacking that's needed.

I'll try to get out a 2.2 prerelease in the next week or so --
everything is up to date now, finally, I just have a pending patch to
make the stack grow down instead of up so we can use native CALL
instructions in some future.  Works in progress...

A



reply via email to

[Prev in Thread] Current Thread [Next in Thread]