The current profile is intentionally smaller than full R7RS-small, and the hosted backends expose separate explicit boundaries: LIL at 85 of 205 primitive rows and LIT at 84.
Current guarantees
- Implemented: deterministic numeric tower, lexical mutation, proper tail calls, multiple values, exceptions/guard, one-shot escape continuation, immutable aggregates plus mutable vectors, and the listed library.
- Deferred: multi-shot continuations/re-entry, ports and general I/O, transcendentals, mutable pairs/strings/bytevectors, exact Unicode folding, and user macros.
- LIL implements 85 of the 205 versioned primitive capability rows and rejects 120 loudly; LIT independently implements 84 and rejects 121. Backend admission does not widen the language profile.
- v1.5.3 adds a Native local decision gate after authentication and verifier re-execution without changing the v1.5 language profile or rewriting the released 144-case joint receipt.
- Future work requires an explicit semantic decision and coordinated spec, implementation, tests, and evidence update.
Scope ledger
| Area | Current v1.5 | Deferred |
|---|---|---|
| Control | one-shot upward call/cc, dynamic-wind, handlers, guard | multi-shot continuation and dynamic re-entry |
| Numbers | exact integers/rationals and finite real; exact integer exponent/sqrt | complex and platform transcendentals |
| Mutation | lexical cells and vectors | mutable pairs, strings, bytevectors |
| Effects | canonical output and explicit invocation boundaries | ports, files, network, time, randomness |
| Metaprogramming | built-in hygienic derived-form normalization | user macros and define-syntax |
| Backend coverage | Rust reference plus current LIL 85/205 and LIT 84/205 boundaries; the exact 144-case released joint receipt measures their prior shared 84-row boundary | unscoped whole-language parity, LIT source independence, or the remaining 120 LIL and 121 LIT unsupported rows |
Boundaries
- Deferred features must not be inferred from another Scheme implementation.