Runtime for Clojure code generated from Lean IR.
Functions named lean_* implement the C symbols of Lean's @[extern]
declarations, so generated code calls lean-clj.runtime/<C symbol>.
Value representation:
Nat / Int: Long, or clojure.lang.BigInt when it does not fitUInt8..UInt32, Char, Bool, enumerations: LongUInt64 / USize: Long holding the 64-bit patternFloat: DoubleString: java.lang.String (positions are UTF-8 byte offsets)Array: persistent vectorLong (the constructor index)CtorClosureRuntime for Clojure code generated from Lean IR. Functions named `lean_*` implement the C symbols of Lean's `@[extern]` declarations, so generated code calls `lean-clj.runtime/<C symbol>`. Value representation: - `Nat` / `Int`: `Long`, or `clojure.lang.BigInt` when it does not fit - `UInt8`..`UInt32`, `Char`, `Bool`, enumerations: `Long` - `UInt64` / `USize`: `Long` holding the 64-bit pattern - `Float`: `Double` - `String`: `java.lang.String` (positions are UTF-8 byte offsets) - `Array`: persistent vector - nullary constructors: `Long` (the constructor index) - other constructors: `Ctor` - closures: `Closure`
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 |