RX0506

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 called pop, and rush told you that this builtin is retired. Here is the story. Pop did two things at once: it handed you the last item of a list, and it removed it from the list, in place. In rush, those two jobs are separate, and every change goes through one door, data dot something. So reading and removing are now two clear steps. First, read the member by naming it. The last item of the list xs is xs dot backwards dot one. Second, remove it with data dot remove, giving the list and the position, using at, a colon, and the place. The result is a new version of the list, and the old version stays in history. It is a little more to write, but nothing is hidden: you see what was read, and what was removed. Rush says retired by name, instead of not found, so you know it was a decision and not a typo. If you have your own function called pop, yours still wins. Read first, then remove.

Text from the Rush engine's error catalogue.