Yichus / An experimental playground

Explain and check programs from their source.

After a person or an agent writes code, you still need to understand what it does, why it produces a result, and whether it respects your rules.

Yichus explores a tradeoff: write application logic in Bosatsu, a typed functional programming language, and let reusable engines handle the browser, database, and network. Tools can analyze that logic to explain results, draw its structure, and check specific rules.

The projects below let developers and their coding agents try these tools on Bosatsu programs.

Explore the projects

We have made several experiments, all exploring one idea.

Calculators with Why buttonsWhen explanations are written separately from a calculator, they can go out of date as its formulas change. Yichus generates Why views by analyzing the same source that computes the answer. Lenses and diagramsA program’s organization is hard to see across many files. Manually maintained architecture diagrams can drift as code changes. Yichus generates views from the program, showing the abstractions it builds on and the dependencies between them. Application checksAn access mistake can hide in a path your tests never exercise. Yichus analyzes the compiled program to check supported rules for record ownership and permissions, and reports where the result is inconclusive. Batch admissionConcurrent transfers can overspend a balance even when each fits on its own. A common response is to serialize updates. Yichus explores selecting a batch from declared operation models, then checking it by replaying compiled handlers. Portable calculationsMoving a calculation to a browser or worker can mean repeating its setup or writing a separate implementation. Yichus packages a supported function with its compiled code and captured data so it can run elsewhere. Running model-written programsWhen an app asks a model to produce every answer, each result needs checking. Yichus lets the model write a reusable Bosatsu program, checks its types and allowed operations, and runs it with resource limits. The time-travel puzzleProgram your moves and cooperate with your past self. This puzzle explores what a reusable game engine can do when its rules and levels are configured in Bosatsu. Compiled UI updatesWhen one value changes in a React UI, the runtime can rerun components and compare their output to find what needs updating. For scalar state, Yichus compiles direct bindings that update the affected elements.