WEBSITE ALPHA · AI-assisted, source-reviewed documentation · Full-stack docs reconciled 2026-09-14
64x64base

RelTalk

Relation graphs, asymmetric links, workspace persistence, and ERSATZ traversal.

What it does

RelTalk names the relation-facing workflows in DotTalk++ / x64base.

Its subject is connected data across work areas. It covers:

  • declared parent/child relation edges
  • asymmetric same-field and cross-owner relations
  • joining a parent and its children into tuples through REL JOIN
  • saved workspace relation state
  • rooted traversal and browser output through ERSATZ

RelTalk is navigational rather than set-oriented, and both surfaces now join. REL JOIN walks a declared graph -- edges you established in advance with REL ADD -- and answers "where do I go from here?". SQL-syntax JOIN inside a SQLSEL statement declares nothing, names its own tables and ON columns in the statement, reads no REL or SET RELATION state, and answers "which rows satisfy this?". Neither replaces the other: one follows a structure you asserted about your data, the other asks a question that stands on its own.

Real local command surfaces include:

REL ADD STUDENTS ENROLL ON SID
REL ADD SYSCMD SYSSUBCMD ON CAN_NAME TO PARENT
REL ADD SYSSUBCMD SYSENTVAR ON QUAL_NAME TO HELP_OWNR
REL LIST ALL
REL JOIN LIMIT 0 TUPLE STUDENTS.SID, ENROLL.CLS_ID, CLASSES.CID, TEACHERS.LNAME
REL JOIN DISTINCT LIMIT 0 TUPLE STUDENTS.SID, ENROLL.CLS_ID, TEACHERS.LNAME
REL JOIN ENROLL CLASSES TASSIGN TEACHERS LIMIT 0 TUPLE STUDENTS.SID, CLASSES.SEC
REL JOIN ONE LIMIT 0 TUPLE STUDENTS.SID, ENROLL.CLS_ID
REL ENUM LIMIT 0 TUPLE STUDENTS.SID, ENROLL.CLS_ID, CLASSES.CID, TEACHERS.LNAME
REL REFRESH
REL SCANLIMIT 500000
WORKSPACE SAVE <name>
WORKSPACE LOAD <name>
ERSATZ
ERSATZ PATH
ERSATZ TREE
ERSATZ GRID
RBROWSE

Canonical diagram

Diagram attachment: DIAG-WORKAREA-008

Work areas and cursor control

Canonical source: docs/manuals/assets/diagrams/workareas_cursor_control_v1.svg

REL JOIN emits one tuple per parent/child combination and delegates to the same enumerator as REL ENUM; REL JOIN ONE keeps the historical single-row form and refuses a child chain rather than accepting one it cannot walk. REL SCANLIMIT caps what a traversal finds -- not what is displayed -- and a truncated result says so at the result.

Relation work is active and important because it connects work areas, metadata tables, browser output, and workspace persistence.

See Current Project Truth and the canonical public repo deraldg/x64base.