RX0094

Domain: Parsing

Error message

a retired builtin: %s (%s)

In the message, %s marks a value that the engine fills in when it raises the error.

The story

You used a builtin that has been retired, and the engine is telling you so by name. This is different from using a word that never existed. These words once worked, and then a ruling retired them, so the engine remembers, and tells you which ruling and what replaced it. For example, the old slurp is gone. Write read all instead. And the old char at is gone too, because selecting from text is now naming, just like lists: write the text, dot, one, for the first character. The message names the retired row and the lawful spelling. Today, most retired rows have their own ids, so you will see those specific ones. This id remains for names under a retired root: things like posix, db, database, cow, crew, exec and spawn. The list of retired rows lives in parse.feml, so you can always read exactly what changed. It is a bit like a street renamed by the city: the old name no longer works, but the sign tells you the new one. Replace the name, run again, and you are done.

Text from the Rush engine's error catalogue.