Skip to content

slate 0.0.25

Choose a tag to compare

@edadma edadma released this 04 Sep 02:22
· 123 commits to dev since this release

slate:time is half there on the JavaScript back end. An instant and a duration are a
microsecond BigInt with a millisecond clock, on both hosts, and no Date is built at all beyond
Date.now() — the civil breakdown is the interpreter's own algorithm rather than the host's
calendar, so the two agree byte for byte. The zones and the calendar are still owed and say so in a
sentence rather than being names that are not there.

A streamed body over HTTP/2, in both directions. sse, a response that arrives in pieces, and
serveStream all work over h2 exactly as they do over 1.1: a source is handed over frame by frame
as it lands, with the heartbeat a DATA frame of its own. It is sh.sysl.nghttp2 0.3.0 underneath —
the data provider, NGHTTP2_ERR_DEFERRED and nghttp2_session_resume_data — and the two caveats
docs/library/http.md carried are gone. Every write on an h2 connection is awaited now, its failure
read as the client having gone.

Three defects fixed on the way, each found by writing the feature: at on an instant reached the
array builtin of the same name; sleep refused a duration; and a method a kind does not have said
two different sentences on the two back ends.

And the nine source files that were over the thousand-line rule are split — one pure-refactor
commit each, every seam counted with the comments stripped in both directions. Nothing is over a
thousand lines and the largest result is 835.

1772 tests green. lath 37, pg 86, sluice 81 and logger 12 pass against this binary, the last
two under slate test --js as well, which they did not before.