raise-foreign-error Marc Nieper-Wißkirchen (16 Aug 2020 14:30 UTC)
Re: raise-foreign-error hga@xxxxxx (16 Aug 2020 15:04 UTC)
Re: raise-foreign-error Marc Nieper-Wißkirchen (16 Aug 2020 15:26 UTC)
Re: raise-foreign-error hga@xxxxxx (16 Aug 2020 16:02 UTC)
Re: raise-foreign-error John Cowan (17 Aug 2020 02:35 UTC)
Re: raise-foreign-error hga@xxxxxx (17 Aug 2020 11:58 UTC)
Re: raise-foreign-error Lassi Kortela (17 Aug 2020 12:06 UTC)
Re: raise-foreign-error hga@xxxxxx (17 Aug 2020 14:20 UTC)
R6RS condition type hierarchy Lassi Kortela (17 Aug 2020 12:10 UTC)
Re: R6RS condition type hierarchy John Cowan (17 Aug 2020 13:40 UTC)
Re: R6RS condition type hierarchy Lassi Kortela (17 Aug 2020 14:47 UTC)
Re: R6RS condition type hierarchy Marc Nieper-Wißkirchen (17 Aug 2020 14:56 UTC)

Re: raise-foreign-error hga@xxxxxx 16 Aug 2020 15:04 UTC

> From: "Marc Nieper-Wißkirchen" <xxxxxx@nieper-wisskirchen.de>
> Date: Sunday, August 16, 2020 9:30 AM
>
> Draft #3 contains the following paragraph:

Note Draft #3 is *extremely* obsolete.  I have a more up to date
version at https://htmlpreview.github.io/?https://raw.githubusercontent.com/hga/srfi-198/master/srfi-198.html
but it reflects nothing after Lassi changed his mind about 'set being
required and plists as the standard key/value pair collection type.

> **
> raise-foreign-error takes the foreign-error-object returned by
> make-foreign-error and raises an exception in a manner suitable for
> the Scheme implementation it is running on. Its actions are at the
> complete discretion of that Scheme implementation's community. If the
> optional argument continuable is not the default of #f, it will
> ideally raise a continuable exception.
> **

Note this is the current text in my repo's draft:

> raise-foreign-error constructs a foreign-error-object like
> make-foreign-status, and raises an exception in a manner suitable
> for the Scheme implementation it is running on.

Back to you:

> I have three questions concerning this:
>
> (1) What does "in a manner suitable for the Scheme implementation it
> is running on" mean?

I'm trying to avoid specifying exactly what raising an error means.

Besides not knowing anything about R6RS's exception system, it could
be something different than a conventional R6RS/R7RS raise if that
concept doesn't exist because it's a Scheme subset or R5RS or earlier
(e.g. I'm working on a R4RS based one that should be able to run on
16 bit microcontrollers with more than 64KiB memory/address space).

> (2) What does "ideally raise a continuable exception" mean?

Continuable exception in the sense of R7RS, but the entire concept has
been dropped from the API, see above personal repo draft text.

> (3) Haven't we agreed on that mixing raising continuable and
> non-continuable exceptions in one procedure is a bad thing because
> "raise" and "raise-continuable" are two very different types of
> procedures (the former actually being a continuation)?

And the discussion that started with your pointing this out is
one of the reasons.

- Harold