unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Tom Lord <lord@regexps.com>
Cc: lord@morrowfield.regexps.com
Subject: why asyncs were created
Date: Mon, 2 Sep 2002 15:55:31 -0700 (PDT)	[thread overview]
Message-ID: <200209022255.PAA08110@morrowfield.regexps.com> (raw)



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-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


             reply	other threads:[~2002-09-02 22:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-02 22:55 Tom Lord [this message]
2002-09-02 23:42 ` why asyncs were created Marius Vollmer
2002-09-03  0:05   ` Tom Lord
2002-09-02 23:57     ` Marius Vollmer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200209022255.PAA08110@morrowfield.regexps.com \
    --to=lord@regexps.com \
    --cc=lord@morrowfield.regexps.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).