Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: Values and types

Values and types · rule

syntax.optional_chaining

Field of a missing value read with ?..

Area 2, Values and types; not declinable; the next step is usually the agent's.

A field of a value that may be none is read in a match too.

example
type ShippingCode = Text {    max_length: 10}type Address = Object {    postal_code: ShippingCode}type Customer = Object {    address: Address?}function postal_code(customer: Customer) -> ShippingCode? {    return customer.address?.postal_code}
text
error: Jadpo reads a value that may be `none` with `match`, not `?.` --> main.jadpo:14:28   |14 |     return customer.address?.postal_code   |                            ^^ write a `match`  reason: `?.` reads a field of a value that may be missing in JavaScript, TypeScript, C#, Kotlin and Swift; Jadpo reads a value that may be `none` with a `match` that handles both cases.  next: Write `match customer.address` with the arms `some(address) -> address.postal_code` and `none -> none` (agent)  rule: syntax.optional_chaining  help: https://jadpo.dev/docs/errors/syntax.optional_chainingcheck failed: 1 error, 1 file

Markdown for agents: /docs/errors/syntax.optional_chaining.md.Built from Jadpo main at a707efb.