guile-devel
[Top][All Lists]
Advanced

[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.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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