Exceptions and conditions
Wolfgang Corcoran-Mathe 31 Aug 2024 06:11 UTC
Hi Artyom and the SRFI 253 list,
I haven’t had a chance to review the SRFI in depth yet, but I noticed
that it does not specify (beyond the infamous “it is an error”) what
happens when a type-check fails. This is a problem. There’s little
point in checking values if the implementation can happily ignore
failures—which is allowed in this case, per R7RS semantics.
I strongly suggest that a failed type check should cause an exception
with type &assertion to be raised. (People who know more about R6
than I do may be able to suggest a more specific condition type.) On
systems that don’t have R6RS condition types, the local equivalent
of an assertion violation should occur, or an error that satisfies a
predicate ‘check-error?’ (to be defined by the SRFI) should be raised.
But something should happen, in any case!
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>