java.time Phase 1: LocalDate/LocalTime/LocalDateTime/Instant
Core java.time value types as jolt host objects backed by the inst-time.ss calendar engine (days-from-civil/civil-from-days/inst-fields/format-ms), in a new host/chez/java-time.ss. tz-free reps: LocalDate=epoch-day, LocalTime=nano-of-day, LocalDateTime=(epoch-day,nano-of-day); Instant reuses the ms-based instant jhost (ms granularity; nano is a documented gap). Each type registers statics (of/parse/now/MIN/MAX/...), instance methods (plus/minus/with/get/isBefore/until/toString/...), =/hash, compare, ISO-8601 print, instance?, and value-host-tags for protocol dispatch. Reconciles the old ms-based local-date/local-dt stubs into the rich types (LocalDateTime now prints ISO; .toLocalDate/.atZone paths preserved). The four cljc.java-time namespaces (local-date/local-time/local-date-time/instant) load. Deep temporal-field/unit machinery (range/get-long/with-field/until/ adjust-into) stubbed for Phase 2. 12 corpus rows certified vs JVM 1.12.5. make test + shakesmoke green, 0 new divergences, data.json stays 138/139, selfhost holds.
This commit is contained in:
parent
e94ddb2ffe
commit
c0561a8d14
5 changed files with 560 additions and 11 deletions
|
|
@ -351,6 +351,12 @@
|
|||
;; jolt-pr-str / jolt-type / instance-check and uses host-static.ss's registries.
|
||||
(load "host/chez/inst-time.ss")
|
||||
|
||||
;; java.time value types: LocalDate / LocalTime / LocalDateTime / Instant as
|
||||
;; tz-free jhost values (epoch-day / nano-of-day / epoch-ms). Loads after
|
||||
;; inst-time.ss — it reuses its civil<->days helpers, the jhost registries, and
|
||||
;; re-registers a few LocalDateTime/Instant statics to use the richer reps.
|
||||
(load "host/chez/java-time.ss")
|
||||
|
||||
;; Chez-side data reader: read-string / __parse-next /
|
||||
;; __read-tagged. Loads after inst-time.ss — __read-tagged reuses its #uuid/#inst
|
||||
;; constructors, and the reader needs the full value/collection layer above.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue