jolt/docs
Yogthos 1853d827bd java.io: full File API + byte/char streams over Chez ports
Expand java.io so libraries that touch the filesystem work unchanged.

File: the full method surface — length, lastModified, can{Read,Write,Execute},
isHidden, list, mkdir(s), delete, createNewFile, renameTo, getParentFile,
get{Absolute,Canonical}File, compareTo/equals/hashCode — plus the statics
separator / pathSeparator / createTempFile / listRoots. A File now keeps the
path as given (new File("rel").getPath() is "rel", .isAbsolute false); a
relative path resolves against JOLT_PWD only when the filesystem is touched,
matching the JVM. slurp/spit and the dir helpers go through the same
resolution, fixing a spit-vs-slurp inconsistency.

Streams (host/chez/io-streams.ss) — each a jhost wrapping a Chez port, so
buffering, EOF and binary<->char transcoding come from Chez:
- FileInputStream / FileOutputStream / ByteArrayInputStream /
  ByteArrayOutputStream / BufferedInputStream / BufferedOutputStream
- FileReader / FileWriter / InputStreamReader / OutputStreamWriter /
  BufferedReader / BufferedWriter
Buffered* return the wrapped stream (Chez ports are already buffered).

clojure.java.io: input-stream/output-stream now yield real byte streams (were
aliased to the char reader/writer); added copy (byte-exact for byte sources),
make-parents, delete-file. with-open also closes file-writer/port-writer/
print-writer (a pre-existing gap).

All runtime shims, no re-mint. 15 JVM-certified corpus rows; make test +
shakesmoke green.
2026-06-24 22:12:46 -04:00
..
rfc docs: module map, RFC index, refactor plan (arch-refactor tier 0) 2026-06-23 21:50:58 -04:00
spec spec: note jolt's unknown-alias behavior; corpus rows for the reader/edn fixes 2026-06-24 09:33:45 -04:00
building-and-deps.md REPL fixes + an nREPL server for editor-connected dev 2026-06-22 15:18:52 -04:00
grammar.ebnf Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
host-interop.md java.io: full File API + byte/char streams over Chez ports 2026-06-24 22:12:46 -04:00
libraries.md java.time DST + data readers: make tick pass fully 2026-06-24 21:30:05 -04:00
MODULES.md AOT build: set per-ns ns context and register aliases 2026-06-24 01:27:49 -04:00
seed-overlay-registry.md Clean up codebase: rename stdlib layer, strip porting residue, fix tooling 2026-06-22 22:18:00 -04:00
tools-deps.md docs: document tree-shaking + the runtime-resolution limitation 2026-06-23 21:30:28 -04:00