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
ReferenceLogic

LanguageLogic

Generic code

Only the standard library is generic (List<T>, list.count). Your own callables take named types. A parameter that accepts several types is an enum whose variants carry each one:

example
type PartyId = Enum {    customer: {        id: Customer.id    }    supplier: {        id: Supplier.id    }}function party_label(party: PartyId) -> PartyTitle {    return match party {        PartyId.customer(customer) -> customer_label(customer.id)        PartyId.supplier(supplier) -> supplier_label(supplier.id)    }}

function first<T>(items: List<T>) -> T and Customer.id | Supplier.id are not Jadpo: your own code has no generics or unions.

For the same reason, your app's types never declare operators. Every a + b is a row of the operator tables a reviewer can look up, and never an overload (The standard operator table).

Markdown for agents: /docs/generic-code.md.Built from Jadpo main at aee2e8f.