ail builtins is an incomplete API scan — no comparison operators surfaced #69
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ail builtins(the in-tree discovery tool, thecargo docanalogue for an AILang author) lists the primitive ops —+ - * / %,not,neg, the int/float/str conversions,io/print_str— but no comparison operator at all: nogt/lt/le/ge/eq/ne/compare, and noOrdering/Boolsurface.Those live in
examples/prelude.ail(theEq/Ordclasses and the free helperslt/gt/le/ge/ne, pluscomparereturning theOrderingADT). A consumer who scans the obvious discovery command never finds half the comparison stdlib — the discovery surface does not point at the library where comparisons live.Impact. Surfaced in the cross-model authoring experiment: a frontier model (Claude), given the
ail builtinsscan, still could not find how to compare two Ints; only scanning the prelude source revealedcompare/gt. A weaker model never recovers.Suggested fix. Have
ail builtinsalso list (or cross-reference) the prelude exportedOrd/Eqsurface with signatures, or add a discovery command that surfaces the prelude public functions. The discovery tool should be a complete API scan.Evidence:
experiments/2026-05-12-cross-model-authoring/familiar-vs-unfamiliar/and the "Is AILang harder for a frontier model" section ofexperiments/2026-05-12-cross-model-authoring/format-findings.md.