Skip to content

Glossary

Terms as used in the KYLLO documentation. Definitions are drawn from the source material; each entry cites its authoritative section. Where the source leaves a term partly undefined, the entry says so.

Contract

A declared requirement on a function or type: its preconditions, postconditions, invariants, effects, and failure conditions. Every function must explicitly declare its contract.

Source: language-guide/functions.md, technical-specification/TECHSPEC-03.md.

Precondition (REQUIRES)

What must be true before a function executes. Preconditions must be checked or established by the caller.

Source: technical-specification/TECHSPEC-03.md.

Postcondition (ENSURES)

What must be true after successful execution. Successful execution must satisfy the declared postconditions.

Source: technical-specification/TECHSPEC-03.md.

Invariant (INVARIANT)

A condition that must hold throughout the lifetime of a value or type, e.g. balance >= 0 for an account.

Source: getting-started/first-program.md, technical-specification/TECHSPEC-03.md.

OLD

Refers to the previous state of a value in a postcondition, e.g. result.balance == OLD(account.balance) + amount.

Source: technical-specification/TECHSPEC-03.md.

Result

A safety type representing either success (the expected return value) or a declared failure. Operations that can fail must return an explicit Result.

Source: language-guide/types.md, language-guide/error-handling.md, technical-specification/TECHSPEC-10.md.

Optional

A safety type representing a value that may be absent. The compiler must require the absence case to be handled before accessing the contained value.

Source: language-guide/types.md, technical-specification/TECHSPEC-24.md.

NonNull

A safety type: a value that cannot be null.

Source: language-guide/types.md.

Bounded

A safety type: a numeric value constrained by declared limits.

Source: language-guide/types.md.

Validated

A safety type: a value that has passed specified validation rules.

Source: language-guide/types.md.

Effect

An external operation a function performs, e.g. filesystem, database, network, system, state mutation, or time access. Functions must declare the external effects they perform and cannot perform undeclared effects.

Source: language-guide/permissions.md, technical-specification/TECHSPEC-09.md.

Permission

Explicit authorization to perform an effect. Permissions must be granted explicitly and follow least privilege; calling a function must not silently grant additional permissions.

Source: language-guide/permissions.md, technical-specification/TECHSPEC-09.md.

Module

A separately compilable unit with a declared public interface and declared dependencies. Internal details remain private by default.

Source: language-guide/modules.md, technical-specification/TECHSPEC-08.md.

Interface

A declaration of required functions, associated types, and behavioral requirements that a type promises to provide. Implementation must be explicit.

Source: technical-specification/TECHSPEC-41.md.

Trait

A reusable capability (e.g. equality, ordering, iteration) declared as operations and constraints. Trait implementation must be explicit.

Source: technical-specification/TECHSPEC-41.md.

Diagnostic

A structured compiler message. Every diagnostic must include a unique error identifier, category and severity, exact source location, description, violated rule or contract, expected vs. actual behaviour, and suggested investigation steps.

Source: compiler/diagnostics.md, technical-specification/TECHSPEC-12.md.

Verification status — PROVEN

A property status: mechanically established through formal verification.

Source: verification/validation.md.

Verification status — TESTED

A property status: passed specified tests, but not mathematically proven. Tests are never proofs.

Source: verification/validation.md.

Verification status — CHECKED

A property status: passed a static or runtime check.

Source: verification/validation.md.

Verification status — FAILED

A property status: a violation was detected.

Source: verification/validation.md.

Verification status — UNKNOWN

A property status: available verification methods could not establish the result.

Source: verification/validation.md.

Program status — VALID

All mandatory language and compiler checks have passed.

Source: verification/validation.md.

Program status — INVALID

One or more mandatory checks have failed.

Source: verification/validation.md.

Program status — UNVERIFIED

The program passes mandatory structural checks, but one or more required behavioral properties cannot be established.

Source: verification/validation.md.

Build status — DEVELOPMENT

A build classification: intended for development and debugging.

Source: compiler/build-and-deployment.md.

Build status — COMPILED

A build classification in TECHSPEC-13 §3 and TECHSPEC-55 §2 (parsing and required compilation stages completed). Note: the three build-status lists disagree — BUILD.md omits COMPILED, TECHSPEC-13 omits RELEASED — see audit AUDIT-003.

Source: technical-specification/TECHSPEC-13.md, technical-specification/TECHSPEC-55.md.

Build status — VALIDATED

A build classification: passed mandatory compiler and validation checks.

Source: compiler/build-and-deployment.md.

Build status — VERIFIED

A build classification: satisfied all required verification criteria. The exact meaning and release requirements for VERIFIED are an open decision (OQ-023).

Source: compiler/build-and-deployment.md.

Build status — RELEASED

A build classification: an approved artifact has been deployed.

Source: compiler/build-and-deployment.md.

Ownership

Every owned resource must have a clearly defined owner; ownership transfers must be explicit; resources must not be used after transfer or release.

Source: runtime/memory.md, technical-specification/TECHSPEC-06.md.

Borrowing

Temporary access to a resource owned by another entity, governed by the borrowing rules in Section 6. Exact reference/borrowing syntax is an open decision (OQ-007).

Source: technical-specification/TECHSPEC-06.md.

Untrusted data

External data (APIs, files, user input, third-party modules) treated as untrusted by default until explicitly validated. Untrusted status must not be silently discarded.

Source: security/overview.md, technical-specification/TECHSPEC-25.md.

Evidence record

The compiler's record for a verified property: the property, the verification method, the result, assumptions, and limitations. The evidence-record schema is an open decision (OQ-020).

Source: verification/evidence-reports.md, technical-specification/TECHSPEC-55.md.

Conformance

Whether an implementation satisfies the specification; defined in Section 56, including a conformance test suite and implementation profiles.

Source: technical-specification/TECHSPEC-56.md.

MVP

Minimum Viable Prototype: the first-version scope — a working prototype demonstrating that the language can catch AI-generated mistakes through compiler-enforced rules.

Source: design-decisions/mvp-scope.md, technical-specification/TECHSPEC-18.md.

EBNF

Extended Backus-Naur Form, the notation the specification will use to define its grammar (=, |, [ ], { }, ( ), " ", ;).

Source: technical-specification/TECHSPEC-20.md.

KYLLO

The programming language documented on this site: a language for AI agents, designed so AI-generated code is checked against what it is supposed to accomplish. Formerly named AXIOM (the name used in the original source files).

Source: introduction/index.md.