Skip to content

The Error Model

A live evaluation changes a session that may already be playing. Understanding where evaluation stops tells you what to inspect after a failure and what is safe to run again.

Syntax is checked before the selection runs

Section titled “Syntax is checked before the selection runs”

A parse error or a repeated definition within one file or selection prevents that whole evaluation from running. An incomplete expression at the end cannot leave the first half of that selection applied. The session that existed before the evaluation remains available.

The boundary is the text you evaluated. A correct earlier selection is already part of the session; a later selection’s syntax error does not undo it.

Runtime evaluation proceeds statement by statement

Section titled “Runtime evaluation proceeds statement by statement”

A runtime error stops evaluation at the failing statement. Earlier statements may already have bound variables, created tracks or changed routing. Evaluation is not a transaction, so there is no automatic rollback of those changes. An operation’s own failure behavior determines whether it changed anything before reporting the error.

That is why correcting the offending statement is often preferable to rebuilding the whole rig. Re-running the larger selection also runs its earlier actions again: a printed message prints again, and a registered callback can be registered again. Naming a track consistently gives you its existing identity, but does not make every action in a selection repeatable.

A warning reports a condition while letting evaluation continue. For example, a project that targets an older resonon version is reported, and the piece still runs. This makes the condition visible while leaving working music available.

Editor diagnostics found before evaluation describe the source without running it. Runtime messages describe what actually happened in the session. A clean Problems panel therefore does not prove that hardware exists or that a plugin will load.

A failed file run exits with status 1. In a live session, read the error, inspect the current state and send a correction. RESET; explicitly discards that state when you choose to rebuild. Errors and Warnings lists the messages; Debug a Session gives the recovery steps.