Expand description
The value a compiled LOGOS program holds wherever the exact extension reaches: real algebraic numbers, computable reals, the infinitesimal and the hyperreals it generates, infinite integers, ordinals, residue-dependent and provisional values — and every standard value that meets them.
LogosValue is the compiled counterpart of the interpreter’s runtime value on exactly that
ground. It keeps each value in its canonical form, so a variable whose value is an Int still
divides, promotes to a big integer and prints as an Int, and a binding widened to hold a
hyperreal later means what it meant before. How the exact types mix is
logicaffeine_base::tower, and the supertask runtime is logicaffeine_base::supertask,
both generic over the value model: this module gives them this one. The standard rules here —
integers that promote instead of wrapping, / that truncates two integers, exact rationals, IEEE
floats, text that concatenates — are the interpreter’s, sentence for sentence, held together by
the value-model differential in the test suite.
Enums§
- Extension
Builtin - A builtin of the exact extension, as a compiled program names it. A builtin of the exact extension.
- Logos
Value - A value of a compiled program where the exact extension reaches. See the module documentation.
- Rel
- A comparison, as a compiled program names it. The relational operators the exact types answer.
Traits§
- Other
Value - A compiled value of a kind outside the exact tower, as a
LogosValueholds it: each answers for itself how it prints, what it equals, how it orders and what it combines with, exactly as the interpreter’s value of that kind does. A pair it has no arm for is refused in the interpreter’s words by the caller.
Functions§
- logos_
extension builtinapplied toargsin a compiled program:logicaffeine_base::extension::callon this value model, the interpreter’s own dispatcher, stopping with its refusal.