All chapters21
On this page

HHY Language Report

HHY Language Status Report · 2026-09-14

Published status of HHY semantics, Runtime, performance, and engineering quality with reproducible CI measurements.

1.7.1 controlled concurrency and atomicity

This release fixes resource lifetimes and delivers seven experimental APIs, disabled by default. Review state ownership, cooperative file locks, strict transactions and bounded-task guarantees before enabling them.

Read the complete guide and examplesIncludes the guarantee matrix, failure handling and actual validation evidence

HHY 1.7.1 implementation and compatibility

1.7.1 passes local tests, four-platform CI and release validation. Language specification 1.0 remains frozen. Official sample, HTML and macOS/Linux Database 1.0.0 extensions are verified compatible. VS Code 0.2.0 and Sublime 0.1.0 retain independent versions; syntax and editor contract checks pass.

HIR, six optimization passes, integer MIR, type-feedback guards/deopt and local List scalar replacement are implemented. Explicitly enable HHY_COMPILER=ir, HHY_FEEDBACK_SPECIALIZATION=1 and HHY_SCALAR_REPLACEMENT=1; direct Bytecode remains default. Real workloads have not met default-enablement benefit gates. Scalar replacement retains original GC/quota reservations.

Optimization switches, verification and supported scopev1.7.1 implementation1.7.1 release notesReleased capabilities and limits

1.7.0 measured results and release evidence

One local macOS arm64 run on 2026-09-08 with HHY 1.7.0 and default compiler settings. The raw profiler output follows. Only four CPU samples were collected; short-run timings and hotspot percentages vary and do not establish a speedup.

Actual run
$hhy profile --engine bytecode examples/09-profile-algorithms.hhy -- fibonacci 20
HHY profile: examples/09-profile-algorithms.hhy

Summary
  Engine           bytecode
  Wall time        0.013 s
  CPU time         0.008 s
  CPU utilization  58.8%
  CPU samples      4
  Heap peak        1.8 MiB
  Heap after GC    92.0 KiB
  Allocated        1.7 MiB
  Allocations      33040

CPU hotspots
  CPU%    Samples      Calls  Function
   75.0%        3      21891  fibonacci  examples/09-profile-algorithms.hhy:5:1
   25.0%        1          1  print  examples/09-profile-algorithms.hhy:18:6
    0.0%        0          1  <bytecode-top-level>  examples/09-profile-algorithms.hhy:1:1
    0.0%        0          1  length  examples/09-profile-algorithms.hhy:12:10
    0.0%        0          1  to_int  examples/09-profile-algorithms.hhy:17:19
  Note: fewer than 10 CPU samples; use a larger workload for stable results.

Allocation hotspots
  Bytes          Objects  Function
  1.7 MiB            32856  fibonacci  examples/09-profile-algorithms.hhy:5:1
  11.6 KiB              184  <bytecode-top-level>  examples/09-profile-algorithms.hhy:1:1

fibonacci 6765
PlatformInteger MIR / baselineLocal List / baseline
linux-arm640.7624×0.7495×
linux-x86_640.7067×0.6738×
macos-arm640.8392×0.8553×
windows-x86_640.8478×0.8326×
View 1.7.0 CI and raw performance artifacts8fb0b8f · 2026-09-08

Release summary

DimensionQuestionCurrent conclusion
Language baselineAre core semantics stable?Pipe, Value, Stream, Error, and core callable contracts are frozen
Runtime healthAre resource, memory, and cancellation boundaries reliable?Resource limits, GC stress, sanitizers, fuzzing, and explicit ownership governance are present
PerformanceIs performance measurable and controlled?Fixed workloads, five-sample medians, machine-readable evidence, and blocking budgets are established
Engineering governanceAre changes auditable?Four-platform CI, layered gates, version consistency, and release evidence form a closed loop

Data at a glance

SignalResultEvidence basis
Current formal releasev1.7.1Four platform archives, per-asset SHA-256, and SHA256SUMS
Execution enginesBytecode default / AST fallbackFull dual-engine suite and machine-readable decision
Core callables128Runtime Callable Contract Registry
Continuous-verification platforms4macOS arm64, Linux arm64, Linux x86_64, Windows x86_64
v1.3.10 CI engine baselineHistorical measurement passed1M CPU 0.3695; short task 1.0088; sustained JSON 1.0207
v1.3.10 Profiler overhead1.0269× / +2.786 msHistorical nine samples; limits 1.35× and 12 ms
Bytecode cacheNot admittedFive workloads × 21 samples; compile+verify is not a major cost
Complete practical projects6AST/Bytecode end-to-end acceptance with stable exit status

v1.5.0 / Database 1.0.0 release acceptance

Released 2026-09-07. Dual-database/engine, TLS, scope cleanup, cancellation, CMS database lifecycle and cross-platform release gates pass. Local million-row streaming and five-minute-per-backend sustained reports are available. RDS and 24-hour soak validation remain pending.

Read DB 1.0.0 acceptanceHHY 1.5.0 · Database 1.0.0Read HHY 1.5.0 release notesHHY 1.5.0 · Database 1.0.0

v1.4.3 Web Runtime and release verification

CheckResultMeasurement scope
Embedded Runtime100,000 repeated callsOne loaded context with AST/Bytecode differential output checks
HTTP stress verification1,000,000 requests · zero failuresLoopback on the release-validation host, 16 concurrent clients
HTTP duration and throughput131.439 seconds · 7,608.1 requests/secondHost-specific short-request workload, not a public-network or business-service throughput claim
HTTP regressionEnd-to-end coverageRouter, Query, 404/405/413/500, recovery, middleware, static caching, upload cleanup, CORS, signed cookies, and gzip
Streaming and operationsEnd-to-end coverageStream, SSE, Range, metrics, health, multiple workers, and development reload
Read the v1.4.3 release-validation recordSite-hosted release notes with test scale, results, and capability boundaries.

Current capability boundaries

AreaCurrent boundary
HTTP servingRuntime provides HTTP/1.1; Caddy, Nginx, or a load balancer handles TLS and HTTP/2
WebSocketOutside the v1.4 capability boundary
Execution enginesBytecode default with AST fallback; no JIT, process/disk Bytecode cache, or unverified external Bytecode loading
Native integrationC embedding uses opaque handles and a JSON ABI; it does not expose Runtime internals or a third-party Native Extension ABI

Overall baseline and compatibility

BaselineStable commitmentVerification
Language semanticsNo second Pipe, Stream, or Error modelSpecification examples, Parser/Checker fixtures, and valid-program regression
Callable contractsNames, arity, effect, lazy, cancellable, and threading metadata are machine-readableContract Registry JSON and current callable-contract consistency checks
DiagnosticsCLI text and JSON/LSP share the Core checking pathDiagnostic schema and LSP protocol tests
Extension boundaryThird-party capabilities prefer the Process Extension ProtocolManifest integrity, Protocol 1, and official-extension acceptance
C embeddingPublic opaque Application/Context handles and JSON ABI; Runtime internals remain privateOne-time loading, repeated calls, request isolation, and AST/Bytecode differential checks

The current formal baseline is v1.7.1. Bytecode is default; the AST evaluator remains the semantic oracle and is selectable through --engine ast or HHY_ENGINE=ast. Compiler-produced Stream Kernels must pass their independent Verifier; dynamic and unknown shapes fall back losslessly to general Bytecode.

v1.2.2 release and extension status

CapabilityCurrent stateAcceptance result
Extension distributionEd25519-signed Registry and deterministic resolutionTampering, unknown sources, and dependency conflicts fail closed
Reproducible environmentLockfile and content-addressed offline cacheThe same lock yields the same graph and rebuilds offline
Safe changeTransactional install, upgrade, and explicit rollbackFailed upgrades preserve the old environment
HTML 0.2.0Lexbor, CSS selectors, and single-parse multi-field projectionMalformed HTML, hard limits, truncation, and structured errors pass on four platforms
Protocol decisionRetain the bounded synchronous batch APIHTML retains synchronous batches; DB 1.0 uses scoped handles, cancellation and host cursor Streams; generic Stream credit remains unavailable
Open the HHY Language v1.2.2 releaseDownload all four platform archives and checksums and read the release notes.

v1.3.7–v1.3.10 Bytecode hardening

VersionCore deliveryVerified conclusion
v1.3.7Named specialization metadata, unified stack/error rules, fallback reasonsNo magic kinds; three-path differential and metamorphic gates pass
v1.3.8Compiler-produced versioned Stream Kernel IRRuntime does not inspect AST shapes; independent verification; safe dynamic fallback
v1.3.9Shared optimization decisions for normal and profiled executionKernel/opcode, cancellation, CPU/Heap attribution, and machine reports remain consistent
v1.3.10Performance-triggered cache governanceEvidence did not admit a cache; no process/disk cache; unverified external Bytecode rejected
Open the HHY Language v1.7.1 releaseFour platform archives, per-asset SHA-256, SHA256SUMS, and Web Runtime release notes.

Historical performance baseline · v1.3.10

Final v1.3.10 CI evidence comes from commit 4ddc8c3 on GitHub Actions Ubuntu 24.04: schema-2 paired/interleaved engine benchmarks plus independent Profiler and cache-decision artifacts. Ratios are Bytecode/AST wall time; lower than one means Bytecode is faster.

GateMeasuredLimitResult
1M CPU0.3695×0.90×Pass
Short task1.0088×1.25×Pass
Sustained JSON/I/O1.0207×1.10×Pass
Profiler overhead1.0269× / +2.786 ms1.35× / +12 msPass
Cache-admission workloadCompile+verify medianCold-run medianShare
Hello0.0097 ms5.860 ms0.1649%
Advanced Flow0.0269 ms5.916 ms0.4546%
Stdlib0.0286 ms7.003 ms0.4086%
Sustained JSON0.0089 ms33.518 ms0.0266%
Core Flow 1M0.0105 ms166.285 ms0.0063%

v1.3.10 six-runtime same-machine rerun

Rerun on 2026-09-01 on macOS 26.6.2 arm64 with HHY 1.3.10, PHP 8.5.10, Go 1.27.0, Python 3.14.7, Lua 5.5.1, and OpenJDK 26.0.2.1. The fixed task maps, filters, stable-distincts, materializes, and counts one million integers; all six implementations validate output 333334. After two warmups, two independent rounds use seven deterministically shuffled and interleaved fresh processes per runtime. Wall time includes process startup; Go and Java are precompiled and compile time is excluded.

ImplementationVersionRound 1 medianRound 2 medianCombined range
Go1.27.07.995 ms7.969 ms7.622–15.325 ms
Lua5.5.118.368 ms17.957 ms17.582–19.822 ms
PHP8.5.1043.174 ms43.549 ms42.588–49.033 ms
JavaOpenJDK 26.0.2.149.394 ms48.153 ms46.995–53.066 ms
HHY Bytecode1.3.1055.297 ms53.404 ms51.027–78.702 ms
Python3.14.781.747 ms86.459 ms79.993–87.774 ms
ComparisonRound 1Round 2Interpretation
HHY / PHP1.28×1.23×HHY uses about 23%–28% more wall time on this task
HHY / Java1.12×1.11×Java is slightly faster including fresh-JVM startup
HHY / Python0.68×0.62×HHY takes less wall time on this task
HHY / Lua3.01×2.97×Lua is faster on this integer loop
HHY / Go6.92×6.70×Precompiled Go remains substantially faster

Governance conclusion and watch list

  • Overall status: v1.7.0 / DB 1.0.0 passed local, CI and cross-platform release gates; real RDS and 24-hour soak validation remain pending.
  • Web conclusion: embedding, HTTP, Router, middleware, uploads, Stream/SSE, multi-worker serving, and observability ship together.
  • Engine policy: Bytecode is default; AST remains permanently available as the semantic oracle, differential-test engine, and --engine ast emergency fallback.
  • Performance conclusion: one million Web short requests completed with zero failures; existing CPU, short-task, sustained-JSON, and Profiler gates continue to pass.
  • Cache conclusion: compile+verify is not a major cold-run cost; no cache is introduced until new data triggers review.
  • Update rule: synchronize this report whenever the release baseline, measurement method, engine/cache decision, or overall risk conclusion changes.
Open v1.3.11 continuous-verification evidenceFour-platform builds, sanitizers, fuzzing, performance gates, and practical-project acceptance.