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

ErrorsLogic · rule

syntax.match_pattern

Expected a match pattern.

Area 3, Logic; not declinable; the next step is usually the agent's.

A match arm names a case's data in brackets, not braces:

example
type ReceiptId = Uuid {}type Label = Text {}type PaymentOutcome = Enum {    pending    paid: {        receipt_id: ReceiptId    }}function label(outcome: PaymentOutcome) -> Label {    return match outcome {        PaymentOutcome.pending -> "pending"        PaymentOutcome.paid { receipt_id } -> "paid"    }}
jadpo checkcheck failed: 1 error, 1 file

error A match arm names a case's data in brackets

--> main.jadpo:15:29

   |15 |         PaymentOutcome.paid { receipt_id } -> "paid"   |                             ^^^^^^^^^^^^^^ expected `(name)`
reason
An arm binds a case's data to one name, PaymentOutcome.paid(paid), and reads its fields from it, as in paid.field.
next
Write PaymentOutcome.paid(paid) (agent)
rule
syntax.match_pattern
help
https://jadpo.dev/docs/errors/syntax.match_pattern

The match examples below share a hidden file declaring DeliveryState { pending, sent, failed }, PaymentOutcome { pending, paid: { receipt_id } } and Label = Text.

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