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.