Nocter v0.37.0 Release Notes
Nocter v0.37.0 makes ordinary compilation and checked editor analysis substantially faster while preserving the v0.36.0 language, standard-library, diagnostic, native ABI, and generated-program contracts. The only implemented host and native target remains arm64-darwin.
Faster Compilation and Editor Analysis
An alternating comparison on the same Apple M1 host measured the released v0.36.0 compiler and the closed v0.37.0 performance implementation before its final release-identity assignment. The executable compiler changes match the qualified release candidate; both measurement installations selected byte-identical standard-library trees and exact scenario sources:
| Scenario | v0.36.0 median | v0.37.0 candidate median | Change |
|---|---|---|---|
| Single-file cold check | 1,090.821 ms | 833.481 ms | -23.6% |
| Representative package cold check | 1,190.302 ms | 908.939 ms | -23.6% |
| LSP open plus first checked hover | 884.481 ms | 636.842 ms | -28.0% |
| Body edit plus checked hover | 301.920 ms | 203.068 ms | -32.7% |
| Fifty-edit session total | 15,261.019 ms | 10,190.879 ms | -33.2% |
Median peak resident memory fell by 9.2 percent for the single-file check and 7.8 percent for the package check. A separate fifteen-session confirmation found no material LSP initialization regression.
These measurements describe one recorded machine and fixed workloads, not an absolute performance guarantee. The benchmark records include compiler, installed manifest, standard-library tree, and scenario-source identities so later comparisons cannot silently measure different inputs.
One Semantic Path
The improvements come from removing repeated work at existing ownership boundaries. Discovery now constructs one immutable compile input shared by source and syntax views. Type preparation uses a persistent cursor rather than cloning every earlier prefix. One body-source catalog owns current body, syntax, and locator associations. Source-neutral provenance, effect, and loan analysis can be reused after a body-only edit, while current semantic identities and source locations are rebuilt and joined through canonical assembly.
CLI commands and editor features continue to consume the same checked semantic products. The language server does not infer meaning from source text, and reusable analysis cannot publish type or closure identities from an earlier source revision.
Faster Development Verification
The complete clean compiler gate is 46.3 percent faster on the recorded host, falling from 569.31 seconds to 305.55 seconds. Compiler-heavy workspace test binaries now use optimization level 1, while third-party dependencies remain unoptimized. Full public-example compilation and execution has one owner at the command boundary; lower layers retain focused ABI, runtime, cleanup, and image construction tests instead of recompiling the entire example corpus.
This test-profile change does not affect released compiler optimization, Nocter-generated program performance, source semantics, or native output.
Compatibility and Non-goals
v0.37.0 intentionally adds no language or standard-library API. It does not add a persistent disk compilation cache, benchmark-specific production paths, or generated-program runtime optimization. Existing v0.36.0 source remains valid under the same checked contracts.
Candidate Qualification
Release-content commit a7bcbe5a9f546f9e5ffaeecd7bbcd54ad14b908e passed two independent complete compiler gates, the explicit public-HTTPS dependency-acquisition test, and two independent optimized package builds. The resulting archives and installed homes were identical. Fresh extraction passed the installed CLI, all public examples and process contracts, native execution, framed LSP analysis, installed-home immutability, and compiler and standard-library tamper rejection.
The nocter-v0.37.0-arm64-darwin.tar.gz release is the exact retained qualified archive. It is 8,495,337 bytes with SHA-256 36e95db78c89f38190d8b9a392eb1b09e55832edbee22d594a9f7666d37d9212; publication did not rebuild it.