Try one program
with different inputs.

Choose a task, build its program, and supply the values for a run. Read the answer and select an operation—a calculation step—to see how it contributed. Reuse the same program with new values. Every action here is a local simulation.

Your declared task

A name to help you identify this program.

The description records your intention. The program’s connected operations define the calculation; changing the description does not rewrite those steps.

Edit the full typed declaration

Bounded JSON: six declaration arrays, typed constants and ports, explicit graph steps. Build validates every change.

The declaration names the task’s inputs, operations, outputs and intended purpose. JSON uses named fields in braces and lists in square brackets. Build validates the structure and connections.

Passive construction

Values for this run

These values stay outside the source and body. JSON values must match each declared type.

Identifies one run request. Reusing the same key and values retrieves its saved record. Choose New key when you change the values.

An unchanged key and payload retrieves the same record. A changed payload needs a new key.

No run recorded.

Inspect the recorded result

Not evaluated

Run explicitly to create a result. A build, portrait or recovered source provides no completion evidence.

No execution record.
Program fingerprint—
Input fingerprint—
Record / request—
Full public declaration
Typed graph & source pins
Complete constructor source
Emitted source from this record
No execution record.

Save, recover, inspect

Source is the complete program code. Wave and color genomes encode that same code in other recoverable forms. Save session includes the session’s records. Import restores saved data without running a task; imported history is not a newly verified execution.

Keep a downloaded file to use later. The live session is held in memory; a session file preserves more context than source or genome alone.

Loading the QDL 1 interpreter…