Am Fr., 23. Juli 2021 um 13:56 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:
Related note: it's becoming increasingly clear that we keep running into
problems with hierarchies. The exception hierarchy (R6RS vs others) is
the most obvious example. Much of the discussion around the withdrawn
SRFI 198 was around how (if at all) to do hierarchies, and if there are
two hierarchies, how to decide which one is authoritative.

We can solve all problems like this if standard Scheme is silent on all
matters of hierarchy. Instead, we could simply talk about set
membership. Any proposal that needs to classify objects, simply provides
predicate procedures for the sets it cares about.

This means that something like `file-error?` in proposal A can be
different from `file-error?` in proposal B. If these predicates are
imported from libraries, each Scheme program can import the predicates
it wants and ignore others.

I don't understand this. You cite the R6RS condition hierarchy, which is actually quite simple. This is defined through a number of libraries, which export things like `assertion-violation?' or `i/o-encoding-error?' so this is exactly what you propose. Any other library providing I/O could export its own `i/o-encoding-error?' that is not related to R6RS's.

(I have been silent on the issue of whether it would actually be a good idea.)