- CompletableDeferred.completeExceptionally(exception): fails the deferred
with a Lyng exception; the original exception object is preserved as
errorObject so assertThrows/catch see the correct class (works for both
built-in ObjException and user-declared class instances)
- LaunchPool: add maxQueueSize parameter (suspends launch when full),
add cancelAndJoin() for graceful shutdown that waits for running tasks,
clarify all semantics in the extern declaration comments
- Two tests for completeExceptionally (built-in and user-defined exception)
- Fix parallelism.md channel doc-test to be illustration-only (avoid
flakiness from coroutine scheduling in the doc-test runner)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Exposes Kotlin's Channel<Obj> to Lyng scripts as a first-class type
with rendezvous, buffered, and unlimited capacity modes. Supports
suspending send/receive, non-suspending tryReceive, close/drain
semantics, and isClosedForSend/isClosedForReceive properties.
Also fixes a pre-existing typo in BookTest.kt that blocked JVM test
compilation, and adds Channel reference docs and a parallelism.md section.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New docs/LegacyDigest.md: full reference for lyng.legacy_digest,
covering the sha1() API, input types (String / Buffer), FIPS compliance
note, and explicit guidance on appropriate vs. inappropriate use.
- docs/ai_stdlib_reference.md: entry in section 5 so AI agents know
LegacyDigest.sha1() exists and is intentionally named as legacy-only.
- docs/whats_new.md: release-note section alongside Complex, Decimal,
and Matrix, with a minimal runnable example and cross-link.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>