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

ErrorsProject layout and modules · rule

library.similar_exists

A library function already does the same.

Area 1, Project layout and modules; declinable; the next step is usually the agent's.

A declinable error: call the library function, or decline with a reason when the two differ on purpose (Declining a judgement call). A function is like a library function when its parameter types, result, fails list and body are the same once each parameter and variable is renamed by its position: a copy, however it is formatted or named. Of two alike library functions, the later one in file order is reported.

example
type Stock = Int {    min: 0}library rounding {    /// The amount, capped at a thousand.    function capped(amount: Stock) -> Stock {        if (amount > Stock(1000)) {            return Stock(1000)        }        return amount    }}function cap_total(total: Stock) -> Stock {    if (total > Stock(1000)) {        return Stock(1000)    }    return total}
jadpo checkcheck failed: 1 error, 1 file

error A similar library function exists: rounding.capped

--> main.jadpo:15:10

   |15 | function cap_total(total: Stock) -> Stock {   |          ^^^^^^^^^ same as `rounding.capped`
reason
cap_total takes the same parameters, gives the same result and has the same body as rounding.capped in main.jadpo, apart from the names of its variables.
next
Call rounding.capped instead, and remove cap_total, or write decline library.similar_exists: "<why>" above it if this is deliberate (agent)
rule
library.similar_exists
help
https://jadpo.dev/docs/errors/library.similar_exists

Markdown for agents: /docs/errors/library.similar_exists.md.Built from Jadpo main at aee2e8f.