Hello Ludo,
I don't have any comment/insight on what you're doing in general, except about one of your points below: Ludovic Courtès <l...@gnu.org> writes: > First, I noticed that GnuTLS doesn’t implement ‘write_wait_fd’, only > ‘read_wait_fd’ (not sure how problematic that is): > > scheme@(guile-user)> ,use(web client) > scheme@(guile-user)> (define p (open-socket-for-uri "https://guix.gnu.org")) > scheme@(guile-user)> ((@@ (ice-9 suspendable-ports) wait-for-writable) p) > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > In procedure write_wait_fd: unimplemented > > Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. > scheme@(guile-user) [1]> ,q > scheme@(guile-user)> ,use(gnutls) > scheme@(guile-user)> (gnutls-version) > $1 = "3.7.7" > scheme@(guile-user)> ((@@ (ice-9 suspendable-ports) wait-for-readable) p) > $2 = 1 This occasionally causes problems when fetching substitutes, as can be seen in bug #56005 (during substitution: write_wait_fd: unimplemented). -- Thanks Thiago