RX0034

Dominio: Motor

Mensaje de error

el builtin %s no declara ningún efecto sobre el heap (%s)

En el mensaje, %s marca un valor que el motor completa cuando lanza el error.

La historia

Un builtin no declaró qué le hace al heap, y por eso el motor no quiso nacer. Antes, un builtin recibía valores ya juzgados y devolvía uno, sin poder tocar el heap. Con la nueva versión, los builtins reciben las puertas del fedex, y entonces el silencio dejó de ser inocente: nadie sabría si ese builtin puede escribir, y el libro de cuentas no tendría contra qué juzgar la ejecución. El motor podría asignar un efecto por defecto, como escribe nada, pero un efecto por defecto es uno que nadie declaró, y el efecto declarado es parte de lo que el builtin es. Por eso rechaza. El mensaje te nombra el builtin. La solución es añadir a su fila en builtins.feml la línea builtin punto effect, con cuatro palabras: qué lee, qué escribe, en qué partición y qué toca. Las palabras válidas de cada eje están en effect.feml, y añadir una nueva no requiere tocar código C. Con el efecto declarado, el motor arranca, y el alcance de cada builtin queda a la vista.

Texto del catálogo de errores del motor de Rush.