You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
gap: .t27 has no cross-module imports for user functions — every spec re-defines the ternary primitives #1773
Each spec in specs/ternary/ (majority, xor, full_adder, …) re-defines the same primitives (tmul, dot27, quantize, pack2/3, sign0, negate, bneuron). There is no way to use another user spec's functions, so a real composable library isn't possible — larger compositions (multi-bit adders, layers) must copy ~40 lines of primitives.
use base::types exists for the built-in base/isa modules, but not for user .t27 modules under specs/. A cross-module use ternary::mac (or similar) that pulls in another spec's fns would let the stack compose without duplication. Filing as a reuse/ergonomics gap for the spec-first library.
User Scenarios
Given a user spec specs/ternary/mac.t27 defining fn tmul and fn dot27, When another spec specs/ternary/full_adder.t27 writes use ternary::mac, Then full_adder.t27 can call tmul and dot27 without re-defining them.
Given the existing use base::types works for built-in modules, When a user writes use ternary::primitives for a local spec, Then the compiler resolves the path under specs/ and makes the fns available.
Requirements
FR-001: The compiler MUST accept use <module>::<name> where <module> maps to a .t27 file under specs/.
FR-002: Imported fn declarations MUST be type-checked and available in the importing spec's namespace.
FR-003: Circular imports between user specs MUST be rejected with a clear error.
FR-004: The use syntax for user modules MUST follow the same semantics as use base::types (no code duplication, single definition).
Success Criteria
t27c specs/ternary/full_adder.t27 compiles with use ternary::primitives and exits 0.
bootstrap/tests/fixtures/trinity_matrix/imports.t27 gains a test case for cross-spec use and the test suite passes (5 tests).
No fn tmul/fn dot27/etc. definitions appear in specs/ternary/full_adder.t27 (verified by grep count = 0).
Reopened 2026-10-07: the bulk close of issues without a ## Boundary section was reverted by the owner. Nothing to do here; this comment replaces the earlier close notice.
Activity
feat: extend IGLA RACE cross-target to systolic PE + gen-backend find…
gHashTag commentedon Oct 7, 2026
Reopened 2026-10-07: the bulk close of issues without a
## Boundarysection was reverted by the owner. Nothing to do here; this comment replaces the earlier close notice.