-
Notifications
You must be signed in to change notification settings - Fork 1
Description
We could use a hyperbracketed operation to check that several given values match the same match pattern and that their components are related according to some given comparison functions:
(taffy-match-related? (list a b c) `(cons ,free-identifier=? (cons ,< ,(lambda _ #t))))
This could also have multiple hyperbracketed parts representing different match
clauses to try. All the inputs must match the same clause for it to count as a successful match.
It might be better to call this taffy-match=?
since it'll tend to be an equivalence check if the interpolated comparisons are equivalence checks.
If there's only one match
clause, it also might be better to call this taffy-match-and?
or taffy-match-zip-and?
since it's a conjunction of the interpolated comparisons. However, if there's more than one match
clause, it has some or
semantics to it as well.