Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 5 Nov 2026. What's built · Install 0.3.0
jadpo
ReferenceErrors

ErrorsFailures · rule

syntax.mapping_block_required

Mappings are written after the call instead of in a block.

Area 4, Failures; not declinable; the next step is usually the agent's.

An attempt's mappings go in a block after the call, never after it on the same line:

example
type Quantity = Int {    min: 1    max: 1000}type QuantityTooLarge = Failure {    kind: FailureKind.invalid_value}function doubled(quantity: Quantity) fails QuantityTooLarge -> Quantity {    var result: Quantity = attempt Quantity(quantity * 2) invalid: QuantityTooLarge    return result}
jadpo checkcheck failed: 1 error, 1 file

error An attempt's mappings go in a block after the call

--> main.jadpo:11:59

   |11 |     var result: Quantity = attempt Quantity(quantity * 2) invalid: QuantityTooLarge   |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^ after the call, not in a block
reason
An attempt maps its failures in a block, one per line, the same form writes and integration calls use; a construction's keys are the rules that can break, with invalid: covering the rest.
next
Move invalid: QuantityTooLarge into a block after the call: { invalid: QuantityTooLarge } (agent)
rule
syntax.mapping_block_required
help
https://jadpo.dev/docs/errors/syntax.mapping_block_required

Markdown for agents: /docs/errors/syntax.mapping_block_required.md.Built from Jadpo main at aee2e8f.