valis / Reference / API reference
Hekate contract - API reference
Exported surface for the hekate-contract subsystem. Part of the API reference.
Package valis/src/hekate-contract
Conditions
hekate-marshalling-contract-version-mismatch
Signalled by check-hekate-marshalling-contract when the version valis expects and the version hekate exports differ. VALIS holds the expected version; HEKATE holds the linked one, or NIL when hekate exports none.
Generic functions
hekate-marshalling-contract-version-mismatch-hekate
(hekate-marshalling-contract-version-mismatch-hekate condition)
Undocumented: this exported symbol needs a docstring.
hekate-marshalling-contract-version-mismatch-valis
(hekate-marshalling-contract-version-mismatch-valis condition)
Undocumented: this exported symbol needs a docstring.
Functions
check-hekate-marshalling-contract
(check-hekate-marshalling-contract &key (hekate (linked-hekate-marshalling-contract-version)) (valis +expected-hekate-marshalling-contract-version+))
Return HEKATE when it equals VALIS. Otherwise signal hekate-marshalling-contract-version-mismatch naming both. HEKATE defaults to the linked hekate's version, or NIL when hekate exports none; VALIS defaults to the version valis is written for. The versions must be equal integers: there is no compatible range, and NIL is refused.
linked-hekate-marshalling-contract-version
(linked-hekate-marshalling-contract-version &key (contract-package "hekate/src/contract") (contract-symbol "+hekate-marshalling-contract-version+"))
Return the value of the symbol named CONTRACT-SYMBOL in the package named CONTRACT-PACKAGE, or NIL when the package, the symbol, or its value is absent. The defaults name hekate's exported contract version. The symbol is found by name when this function runs, never through a compile-time reference: SBCL folds SYMBOL-VALUE of a quoted constant into the value it had at compile time.
Constants
+expected-hekate-marshalling-contract-version+
The hekate marshalling contract version valis is written for.