From: Marius Vollmer <mvo@zagadka.de>
Cc: djurfeldt@nada.kth.se
Subject: Re: SRFI 34
Date: 17 May 2003 22:36:06 +0200 [thread overview]
Message-ID: <87vfw948g9.fsf@zagadka.ping.de> (raw)
In-Reply-To: <m3he7tvrn9.fsf@laruns.ossau.uklinux.net>
Neil Jerram <neil@ossau.uklinux.net> writes:
> Our lazy-catch implementation specifically unwinds dynamic context so
> that we see (handler #f) here rather than (handler 12). Effectively
> the only thing that lazy-catch doesn't unwind is the stack.
Ahh, I see. The lazy-catch was introduced so that one can get at the
call stack via 'make-stack', right? If so and it is consistent with
the docs then we should leave it the way it is. Maybe the docs need
some carification.
> Unwinding the fluid context is contrary to my intuition, though, and
> it appears to yours also.
Yes, but I don't think we should change such a fundamental thing about
lazy-catch just so. We can introduce a new function, however.
Probably we should just move SRFI-34 into the core and rewrite 'error'
to use it.
But given the semantics of lazy-catch, I think your implementation of
SRFI-34 is wrong. I does _not_ run the handler in the dynamic context
of the call to 'raise' since lazy-catch winds back to the dynamic
context of 'with-exception-handler'.
Can we use the sample implementation, and just change it to use a
fluid for the list of exception handlers. Also, maybe we can replace
some call/cc with 'catch', but that would just be for performance.
> One option then would be to have separate wind lists
> for separate kinds of dynamic context, and only unwind the list with
> the catches in it. But I wonder if there are strong theoretical
> reasons why having separate wind lists would be a bad thing?
That would be quite unclean, I think. If we want to change lazy-catch
to not unwind the dynamic context (which I think we should not), then
we only need to modify scm_ithrow a bit to not call scm_dowinds for a
lazy catch and to not reset the dynwinds list. It would just look
into the dynwind list for the matching catch, and if it is a lazy
catch, we just call the handler and do not change anything about the
dynwind list.
--
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2003-05-17 20:36 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.GSO.3.96.1030209200016.26546A-100000@anh>
2003-02-25 14:19 ` PLEASE: debugging embedded guile code Joris van der Hoeven
2003-02-25 14:36 ` Dale P. Smith
2003-04-26 14:51 ` Neil Jerram
2003-04-26 16:40 ` Bruce Korb
2003-04-26 19:12 ` Neil Jerram
2003-04-26 20:13 ` Bruce Korb
2003-04-27 20:49 ` Neil Jerram
2003-04-27 21:57 ` Bruce Korb
2003-04-28 15:54 ` Paul Jarc
2003-04-28 16:07 ` Bruce Korb
2003-04-28 19:21 ` Neil Jerram
2003-04-28 20:06 ` Bruce Korb
2003-04-28 20:58 ` Neil Jerram
2003-05-16 17:19 ` Bruce Korb
2003-05-16 19:23 ` Neil Jerram
2003-05-16 20:27 ` Bruce Korb
2003-05-16 21:21 ` Rob Browning
2003-05-16 21:56 ` Bruce Korb
2003-05-17 0:31 ` Bruce Korb
2003-05-17 2:33 ` Bruce Korb
2003-05-19 15:00 ` Paul Jarc
2003-04-28 13:52 ` Mikael Djurfeldt
2003-04-28 19:26 ` Neil Jerram
2003-04-30 0:13 ` SRFI 34 Neil Jerram
2003-05-17 0:45 ` Marius Vollmer
2003-05-17 9:39 ` Neil Jerram
2003-05-17 20:36 ` Marius Vollmer [this message]
2004-03-07 18:34 ` Neil Jerram
2003-04-26 14:45 ` PLEASE: debugging embedded guile code Neil Jerram
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=87vfw948g9.fsf@zagadka.ping.de \
--to=mvo@zagadka.de \
--cc=djurfeldt@nada.kth.se \
/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).