data.csv: fully passes, three general fixes
clojure.data.csv runs its whole suite on jolt (4/4 reading/writing/eof/line- endings). Three general gaps fixed, all runtime, no re-mint, JVM-certified: - The prefix-list form of :require/:use — (:require (clojure [string :as str])) means clojure.string :as str — now expands (loader.ss). It silently failed before, trying to load a "clojure" namespace. - extend-protocol to java.io.Reader / Writer / StringReader / PushbackReader now dispatches: those reader/writer host tags carry the right class names in value-host-tags AND are in host-type-set, so extend-protocol registers under the canonical tag instead of a local ns tag (records.ss). data.csv's Read-CSV-From protocol extends to String / Reader / PushbackReader. - (str StringWriter) returns its accumulated content (register-str-render for the "writer" jhost), not the opaque host object — data.csv writes CSV to one and reads it back. Listed in docs/libraries.md + the site. make test green (+2 corpus rows, 0 new divergences), shakesmoke byte-identical.
This commit is contained in:
parent
745d22260f
commit
44837f01ab
5 changed files with 74 additions and 23 deletions
|
|
@ -60,6 +60,7 @@ e.g. the [ring-app example](https://github.com/jolt-lang/examples/tree/main/ring
|
|||
* [data.zip](https://github.com/clojure/data.zip) — zipper navigation, including
|
||||
`clojure.data.zip.xml`; XML parsing via [jolt-lang/xml](https://github.com/jolt-lang/xml)
|
||||
(which now ships `clojure.xml/parse`).
|
||||
* [data.csv](https://github.com/clojure/data.csv) — reading and writing CSV.
|
||||
* [tick](https://github.com/juxt/tick) — date/time over Jolt's `java.time`;
|
||||
`#time/…` literals via `time-literals`.
|
||||
* [transit-jolt](https://github.com/jolt-lang/transit-jolt) — Transit (JSON) read/write
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue