Programming Language

Nocter

A self-contained systems language built around simplicity, encapsulation, and foolproof design.

nocter-frontend-bindings

Responsibility

Carry the exact mapping from compiler-selected frontend roles to authored declaration identities.

Contract

Declaration lowering constructs the binding set from the selected toolchain package. Checking and target setup consume role-to-identity accessors and never infer builtin or standard authority from a name, path, or source location.

Invariants

  • Each required role has at most one exact declaration identity.
  • Source namespaces, direct-visibility sets, declaration-site sources, and nominal representation sources are define-once relations. Identical repeats are typed integrity failures rather than idempotent updates.
  • Authored and fallback namespaces reject duplicate names before freezing; no sorting or deduplication step may discard a conflicting producer.
  • Named builtin fallback and standard roles remain distinct authorities.
  • Source projection is not an input to role selection.
  • Body projection records one syntax root per semantic body identity. The declaration-owned body form determines whether that root must be a block or an expression; callers never infer the form from syntax or assume that every body is a block.