Mensaje de error
En el mensaje, %s marca un valor que el motor completa cuando lanza el error.
La historia
A una operación le pasaste más operandos de los que caben, y el motor se detuvo. Cada celda de ejecución tiene un número fijo de ranuras de payload, y cada ranura admite un tamaño máximo. Si una operación necesita más operandos, el motor podría descartar los sobrantes y seguir. Pero un verbo que perdió un operando en silencio responde igual, con total seguridad, pero desde datos equivocados, y nadie se enteraría. Es el mismo peligro que ya vimos con los tipos: una respuesta equivocada que dice que todo fue bien es peor que un rechazo. Por eso el motor prefiere gritar. Un ejemplo: una operación que debería sumar diez valores y solo tiene sitio para ocho, devolvería una suma incorrecta con aire de éxito. El mensaje te dice de qué celda se trata y trae el detalle del techo. La solución: sube la constante RUSH_RUNHEAP_OPERAND_MAX en run.h, del lado del motor, o reduce el número de operandos. Mejor un no claro que un resultado inventado.
Texto del catálogo de errores del motor de Rush.
