home/ atoms/ punctual-arrow-semantics

Punctual uses three distinct arrows: << (define), >> (output), and <> (crossfade) — mixing them causes errors or wrong behavior

Punctual has three arrow operators with completely different meanings. << (or =) defines a named value for later reuse (a definition, not an output). >> routes a signal to an output target such as audio, rgb, or add. <> n specifies a crossfade of n seconds when switching programs — used for smooth transitions between evaluated versions. Using << where >> is needed silences the output. Mixing >> and <> produces parse errors or unexpected blends. The three arrows are not interchangeable.

Examples

osc 440 >> audio; — routes to audio. freq << osc 220; — defines freq. >> rgb <> 2 — routes to display with a 2-second crossfade on re-evaluate.

Assessment

Write one Punctual statement for each of the three arrow operators and explain what each does. Then describe the symptom of using << where >> was intended.

“`<<`(or `=`) = **define**; `>>` = **output**; `<> n` = **crossfade n s**. Three”
context/ · L5-debug/punctual.md · chunk 1