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
Found by the N6e-E5 grounding audit (probe-verified at HEAD fbf44e29); worse than the unbound-op class because it produces silently wrong resolution, not an error.
Symptom
Bare lt / eq in value position resolve to the String foreign fns (lib/prologos/data/string.prologos:11-12 declares string<?/string=?:as lt/:as eq), so [filter lt xs] over numbers gets a String -> String -> Bool value — a type error at best, silent nonsense at worst.
These never reach the unbound-variable fallback, so the E5.3 hint machinery structurally cannot cover them.
Why it matters
Post-N6e the ergonomic spellings (+, -, ord-lt, keyword sections) exist — but a user writing the plausiblelt/eq/add gets shadowed silently instead of guided. This is a namespace/shadowing design question (who owns short op names; should stdlib foreigns claim them; bare-name resolution priority), not a diagnostics quickie — deliberately NOT folded into N6e-E5.
Found by the N6e-E5 grounding audit (probe-verified at HEAD
fbf44e29); worse than the unbound-op class because it produces silently wrong resolution, not an error.Symptom
lt/eqin value position resolve to the String foreign fns (lib/prologos/data/string.prologos:11-12declaresstring<?/string=?:as lt/:as eq), so[filter lt xs]over numbers gets aString -> String -> Boolvalue — a type error at best, silent nonsense at worst.add/subresolve to Nat-specific defns, not the generic trait methods (which are derive-skipped, Spec-store bare-name keying: same-named specs from different modules silently clobber #66).Why it matters
Post-N6e the ergonomic spellings (
+,-,ord-lt, keyword sections) exist — but a user writing the plausiblelt/eq/addgets shadowed silently instead of guided. This is a namespace/shadowing design question (who owns short op names; should stdlib foreigns claim them; bare-name resolution priority), not a diagnostics quickie — deliberately NOT folded into N6e-E5.Pointers
lib/prologos/data/string.prologos:11-12namespace.rkt:~731(ord-lt/ord-le/ord-gt/ord-ge)elaborator.rktunbound-op-hint-table)