Programming language + native application platform
Yeho, from first principle to working system.
A bounded Windows x64 candidate that turns typed Yeho projects into direct native executables through Forge and Kyber, with a custom retained UI system called YUI.
- 1
- readable language across the stack
- 4
- public YUI packages
- x64
- current product target
- Kyber
- direct native product backend
Academy chapter
01. The mental model
Yeho keeps the program small enough to reason about: source expresses meaning, Forge preserves that meaning, and Kyber owns the machine-specific result.
- A project is Yeho source, optional .yui documents, and an optional project.mech manifest.
- Top-level statements in start.yh remove the need for ceremonial entry-point code.
- Compiler reports expose parsing, typing, project resolution, Forge, backend selection, native ABI, and diagnostics.
- Unsupported native behavior fails with a diagnostic instead of quietly changing implementation paths.
.\tools\yeho.ps1 new console .\hello hello.app → .\tools\yeho.ps1 run .\helloAcademy chapter
02. A language built around things and actions
Yeho favors readable composition. Data is modeled as things, behavior as ordinary named functions, and control flow stays explicit.
- thing is the main value-data concept; class is the explicit reference and object-oriented surface.
- Types come before names, semicolons are optional, and functions do not need a declaration keyword.
- Lists, maps, sets, enums with payloads, pattern matching, contracts, tasks, and typed errors form the current language shape.
- Conditions are real booleans. and/or short-circuit, so intent remains visible rather than relying on truthy magic.
yehoc --check verifies meaning without generating a binary; --dump-ast, --dump-sema, and --dump-truth make the compiler inspectable.Academy chapter
03. Forge and Kyber
Forge is the semantic bridge between the language and a backend. Kyber lowers that portable meaning to a native Windows x64 artifact.
- Kyber owns native code, ABI, runtime helpers, object layout, imports, startup, and packaging.
- The installed SDK carries its bounded assembler, linker, import libraries, runtime files, and licenses.
- Ordinary product builds do not require a separate native compiler toolchain.
- A legacy comparison backend remains an explicitly selected compiler oracle for differential testing, never a silent product fallback.
yehoc project --dump-backend-selection and --dump-kyber-asm reveal the chosen route and emitted native assembly.Academy chapter
04. YUI: interface as part of the platform
YUI is not a browser skin or a collection of operating-system widgets. It owns semantic controls, layout, interaction, accessibility data, and retained rendering.
- Authored .yui components lower into typed nodes, bindings, retained fragments, and renderer-neutral draw commands.
- Platform providers stay narrow: windows, input, text shaping, accessibility projection, graphics context, and presentation.
- Only dirty owners are lowered after a mutation; semantic-only changes can avoid native paint work.
- A new component is local to the project and does not require editing a global compiler catalog.
.\tools\yeho.ps1 new yui .\hello-ui hello.ui → widget StatusCard → buildAcademy chapter
05. Truth is part of the toolchain
Yeho treats verification as a set of named evidence lanes rather than one mysterious green check.
- Fast checks protect the editing loop; full checks are merge and release truth; promotion checks prove a named target; nightly explores fuzzing and sustained performance.
- Every step runs in a bounded child process and records stdout, stderr, timing, status, and the reason for any skip or failure.
- A skipped hardware lane is not promotion evidence.
- Golden changes require a semantic reason and reviewer inspection, so nondeterministic churn cannot become the new truth.
.\scripts\verify-repo.ps1 -Profile fast | full | promotion | nightlyAcademy chapter
06. What is real now, and what comes next
The current candidate is intentionally narrower than the full Yeho north star. That boundary is a strength because it shows exactly where builders can stand today.
- Working now: bounded console and YUI applications, relocatable SDK, package resolution, compiler reports, direct-native Kyber builds, and focused verification on Windows x64.
- Promotion gates remain for installed-SDK canaries, visual and accessibility review, performance budgets, release rehearsal, and independent adoption.
- Cross-platform, freestanding, mobile, browser-product, and broader hardware targets remain future work.
- The design keeps those futures possible without presenting them as completed support.
