3 Standard Library Mores

A remix module m should contain submodules for each version of its interface. For example, if remix/list had two versions, then it would have a (submod remix/list 0) and (submod remix/list 1) submodule, in addition to providing the most recent interface as remix/list. In most cases, these submodules will simply provide slightly different symbols, but occasionally may implement different behavior. This allows clients to bind to specific past versions to maintain compatibility (forwards or backwards.)

In most cases, remix modules implement this pattern with provide/versions

TODO Actually implement this macro.

. The remix documentation notates which version identifiers appear in, but does not explicitly document the submodules.

TODO Is that a good idea? Maybe just make provide/versions generate a documentation blob to import.