Lispex separates the rule observation from application effects. Guest output is part of the deterministic transcript, while the host application owns its operational environment.
Output procedures
(begin (display "answer=") (write 42) (newline) 0)Observed result
answer=42
0display writes human-facing text, write uses readable guest notation,
newline writes one line break, and println combines display with that line
break. All four return zero values. Explicit output remains ordered with CLI
auto-print, and receipts record completed root values separately.
The named resource profile sets the output-byte cap. A later diagnostic keeps the output already written in the observation.
Capability owners
| Operation | Owner |
|---|---|
| readable value output | Lispex write |
| human-facing text output | Lispex display, newline, and println |
| source file and stdin selection | CLI invocation |
| files and network | host application adapter |
| clock and randomness | explicit application input |
| database and transaction | host application state machine |
| payment, deployment, or other external action | application policy after the local gate |
Native MCP carries source and optional datum through local stdio and returns an observation under its declared byte and time values. Application adapters pass reviewed data into the rule and consume the returned decision.