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

failure.reject_placement

Reject is used inside an expression.

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

reject stops the callable, so it starts a statement or ends a match arm, never part of a value (question 11):

example
type Count = Int {}type CountRefused = Failure {    kind: FailureKind.rejected}function capped(count: Count) fails CountRefused -> Count {    var checked: Count = reject CountRefused    return checked}
jadpo checkcheck failed: 1 error, 1 file

error reject can only start a statement

--> main.jadpo:8:26

  |8 |     var checked: Count = reject CountRefused  |                          ^^^^^^ inside an expression
reason
Every place a callable can stop early is at the start of a line: reject is a statement of its own, or the result of a match arm, never part of a value.
next
Move reject to a line of its own, under an if or as a match arm (agent)
rule
failure.reject_placement
help
https://jadpo.dev/docs/errors/failure.reject_placement

Markdown for agents: /docs/errors/failure.reject_placement.md.Built from Jadpo main at aee2e8f.