1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-22 04:30:19 +02:00

Removed "Futures" node.

This commit is contained in:
Marius Vollmer 2006-01-29 19:45:54 +00:00
parent a64d058951
commit cc19cda7a8
2 changed files with 28 additions and 24 deletions

View file

@ -1,5 +1,7 @@
2006-01-29 Marius Vollmer <mvo@zagadka.de> 2006-01-29 Marius Vollmer <mvo@zagadka.de>
* api-scheduling.texi: Removed "Futures" node.
Renamed the "frames" that are related to dynamic-wind to "dynamic Renamed the "frames" that are related to dynamic-wind to "dynamic
contexts. Renamed all functions from scm_frame_ to scm_dynwind_. contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
Updated documentation. Updated documentation.

View file

@ -21,7 +21,6 @@ reviewed and largely reorganized.]
* Blocking:: How to block properly in guile mode. * Blocking:: How to block properly in guile mode.
* Critical Sections:: Avoiding concurrency and reentries. * Critical Sections:: Avoiding concurrency and reentries.
* Fluids and Dynamic States:: Thread-local variables, etc. * Fluids and Dynamic States:: Thread-local variables, etc.
* Futures:: Delayed execution in new threads.
* Parallel Forms:: Parallel execution of forms. * Parallel Forms:: Parallel execution of forms.
@end menu @end menu
@ -688,34 +687,37 @@ Like @code{scm_with_dynamic_state}, but call @var{func} with
@var{data}. @var{data}.
@end deftypefn @end deftypefn
@node Futures @c @node Futures
@subsection Futures @c @subsection Futures
@cindex futures @c @cindex futures
Futures are a convenient way to run a calculation in a new thread, and @c -- Futures are disabled for the time being, see futures.h for an
only wait for the result when it's actually needed. @c -- explanation.
Futures are similar to promises (@pxref{Delayed Evaluation}), in that @c Futures are a convenient way to run a calculation in a new thread, and
they allow mainline code to continue immediately. But @code{delay} @c only wait for the result when it's actually needed.
doesn't evaluate at all until forced, whereas @code{future} starts
immediately in a new thread.
@deffn {syntax} future expr @c Futures are similar to promises (@pxref{Delayed Evaluation}), in that
Begin evaluating @var{expr} in a new thread, and return a ``future'' @c they allow mainline code to continue immediately. But @code{delay}
object representing the calculation. @c doesn't evaluate at all until forced, whereas @code{future} starts
@end deffn @c immediately in a new thread.
@deffn {Scheme Procedure} make-future thunk @c @deffn {syntax} future expr
@deffnx {C Function} scm_make_future (thunk) @c Begin evaluating @var{expr} in a new thread, and return a ``future''
Begin evaluating the call @code{(@var{thunk})} in a new thread, and @c object representing the calculation.
return a ``future'' object representing the calculation. @c @end deffn
@end deffn
@deffn {Scheme Procedure} future-ref f @c @deffn {Scheme Procedure} make-future thunk
@deffnx {C Function} scm_future_ref (f) @c @deffnx {C Function} scm_make_future (thunk)
Return the value computed by the future @var{f}. If @var{f} has not @c Begin evaluating the call @code{(@var{thunk})} in a new thread, and
yet finished executing then wait for it to do so. @c return a ``future'' object representing the calculation.
@end deffn @c @end deffn
@c @deffn {Scheme Procedure} future-ref f
@c @deffnx {C Function} scm_future_ref (f)
@c Return the value computed by the future @var{f}. If @var{f} has not
@c yet finished executing then wait for it to do so.
@c @end deffn
@node Parallel Forms @node Parallel Forms