Chez parity: STM stub + portable line-seq (janet.* audit, jolt-0obq)
Audit of the janet.*/jolt.interop/STM corpus cases vs Chez equivalents: the Janet FFI-bridge cases (janet/string, janet/type, janet.math/sqrt, janet.string/ascii- upper) test functionality already covered by PORTABLE corpus cases (str 29, type 9, sqrt 3, upper-case 9), so they're safe to delete in Phase 5. Two needed a Chez equivalent so they pass instead of being lost: - clojure.lang.LockingTransaction/isRunning -> false (no STM on jolt). - line-seq: the corpus case used janet/spit setup but was the SOLE line-seq coverage (0 other cases). Ported janet/spit->spit, and added a native Chez line-seq (drain a jhost io/reader + split on newline; no trailing empty line) that delegates a Janet map-reader to the overlay version. zero-Janet 2694->2696, prelude floor 2648; self-host + Janet gate + JVM cert green. jolt-cf1q.7 jolt-0obq
This commit is contained in:
parent
52a1ab5970
commit
32d2028559
5 changed files with 27 additions and 2 deletions
|
|
@ -154,6 +154,11 @@
|
|||
(register-host-methods! "thread"
|
||||
(list (cons "getContextClassLoader" (lambda (self) (make-jhost "classloader" '())))))
|
||||
|
||||
;; clojure.lang.LockingTransaction: jolt has no STM (no refs/dosync), so a
|
||||
;; transaction is never running. isRunning -> false (jolt-0obq).
|
||||
(register-class-statics! "LockingTransaction" (list (cons "isRunning" (lambda () #f))))
|
||||
(register-class-statics! "clojure.lang.LockingTransaction" (list (cons "isRunning" (lambda () #f))))
|
||||
|
||||
(define (now-millis)
|
||||
(let ((t (current-time 'time-utc)))
|
||||
(+ (* 1000 (time-second t)) (quotient (time-nanosecond t) 1000000))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue