Date: 2026-06-16
Public type contracts could be opaque objects or plain data.
Do not require opaque type objects for public type contracts; the canonical representation is plain data.
Plain data enables composition, macro generation, validation, visualization, and user-defined builders. Helper functions may build the data, but the data is the contract.
Opaque constructor objects such as (zig.types/slice ...) as the only
public representation were considered; they block the composition and
inspection that data allows.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |