[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: suspendable soft ports
From: |
Maxime Devos |
Subject: |
Re: suspendable soft ports |
Date: |
Thu, 12 May 2022 15:56:37 +0200 |
User-agent: |
Evolution 3.38.3-1 |
Stefan Israelsson Tampe schreef op do 12-05-2022 om 15:25 [+0200]:
> I did a take to make the soft-ports suspendable and here is an idea,
>
> http://itampe.com/suspendable-soft-ports.html
>
> Let me know if you are interested, I could refactor out these files
> to a project of their own, but really something like this should be
> in guile.
+1 (for moving into Guile, though as a separate project would be
sufficient for my use cases). I need something like this for BSD
socket integration in Scheme-GNUnet (which uses Guile-Fibers and hence
needs suspendable ports). There are other uses as well (see recent
IRC).
It would also solve (from (fibers)Barriers):
Accidental continuation barriers are bugs, and the Guile developers
have been working on removing them over the years. By now, most of the
high-priority accidental barriers are gone. Those that are left
include:
[...]
* R6RS custom binary port callbacks
* Legacy "soft port" callbacks
[...]
Something that appears to be missing: integration with C. Does calling
scm_get_u8 from C work (assuming that no actual suspension happens)?
Likewise for scm_get_bytevector_n, scm_seek, ...
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part