1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00
guile/module
Ludovic Courtès 3e529bf02a futures: Allow nested futures; put the main thread to work.
* module/ice-9/futures.scm (%futures-waiting, %within-future?,
  %future-prompt): New variables.
  (let/ec): New macro.
  (process-future!): Run FUTURE's thunk in a prompt; capture FUTURE's
  continuation when it aborts, and add it to %FUTURES-WAITING.  Set
  %WITHIN-FUTURE? in the dynamic extent of the call FUTURE's thunk.
  (process-futures): Move loop body to...
  (process-one-future): ... here.  New procedure.
  (notify-completion): New procedure.
  (touch)[work, loop]: New procedures.
  When %WITHIN-FUTURE? and FUTURE is started, abort; if not
  %WITHIN-FUTURE, call `work' while waiting.
  When FUTURE is queued, call `work' too.

* test-suite/tests/future.test ("nested futures"): New tests.
2012-11-21 23:33:30 +01:00
..
ice-9 futures: Allow nested futures; put the main thread to work. 2012-11-21 23:33:30 +01:00
language Simplify calls to 'eqv?' when one argument is an immediate constant. 2012-10-08 11:56:10 -04:00
oop fix goops compilation when current language is not scheme 2012-07-05 10:15:02 +02:00
rnrs Add missing R6RS `open-file-input/output-port' procedure 2012-11-12 20:47:57 +01:00
scripts Fix a couple of warnings. 2012-01-26 00:37:23 +01:00
srfi doc: Fix typo in `set-record-type-printer!' doc. 2012-11-17 15:34:49 +01:00
sxml remove duplicate when/unless definitions 2012-01-20 21:16:50 +01:00
system Improve error for set-fields paths leading to different types. 2012-11-10 01:37:20 -05:00
texinfo docbook->texi fix 2012-05-08 16:03:54 +02:00
web web: Fix possible file descriptor leak in `open-socket-for-uri'. 2012-10-13 21:13:10 +02:00
Makefile.am Add system/base/ck.scm to SYSTEM_BASE_SOURCES in module/Makefile.am. 2012-11-10 14:35:49 -05:00
rnrs.scm Add missing R6RS `open-file-input/output-port' procedure 2012-11-12 20:47:57 +01:00
statprof.scm add gcprof 2011-05-05 11:43:12 +02:00
texinfo.scm more robust texinfo alias handling 2012-08-25 14:11:45 +02:00