Against hierarchy Lassi Kortela 23 Jul 2021 11:56 UTC

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.

In some scenarios we want to interface standard Scheme to existing
object systems, and probably to ML-style type systems in the future.
These targets are inherently hierarchical, so it's an open question how
to that.