8.16.0.1
Generic Relations
(require relation) | package: relation-lib |
This collection provides generic relations and type-agnostic operators. Out of the box, many Racket relations and operators are type-specific. For instance, < operates specifically on numbers, conversion of any datatype to a string must use a type-specific transformer like symbol->string, and likewise + operates specifically on numbers even though many datatypes sustain a natural notion of addition. This package provides a number of interfaces and utilities to override these default operators with generic versions. With a few exceptions, the generic operators provided in this collection are drop-in alternatives to the built-in ones.
Read the blog post introducing this library: What Should + Mean in Programming Languages?