unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* why asyncs were created
@ 2002-09-02 22:55 Tom Lord
  0 siblings, 0 replies; 4+ messages in thread
From: Tom Lord @ 2002-09-02 22:55 UTC (permalink / raw)
  Cc: lord



Since there is talk of removing the async abstraction, I thought I
would mention, just to provide information, why it was added in the
first place.

The kernel has a built-in facility for interrupting a process, pushing
a new call frame onto a stack, and invoking some function -- handling
a return or longjmp from that function specially -- and treating
interrupts specially while that function runs.

That's a useful facility, but not one that has a unique natural
mapping into RnRS scheme.   

Asyncs were designed to model that facility while reconciling it with
the restrictions against executing arbitrary Scheme code at arbitrary
times.

The farther Scheme signal handling is removed from some abstraction
like asyncs, the less well the corresponding kernel facility is
reflected in the language.

Having designed system asyncs, user-defined asyncs were, I felt, a
natural and easy generalization.

-t



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 4+ messages in thread
[parent not found: <200209022255.PAA08110@morrowfield.regexps.com>]

end of thread, other threads:[~2002-09-03  0:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-09-02 22:55 why asyncs were created Tom Lord
     [not found] <200209022255.PAA08110@morrowfield.regexps.com>
2002-09-02 23:42 ` Marius Vollmer
     [not found] ` <87wuq4ez64.fsf@zagadka.ping.de>
     [not found]   ` <200209030005.RAA08472@morrowfield.regexps.com>
2002-09-02 23:57     ` Marius Vollmer
2002-09-03  0:05   ` Tom Lord

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).