Mensaje de error
En el mensaje, %s marca un valor que el motor completa cuando lanza el error.
La historia
Este es el espejo del rechazo anterior. Allí, algo que ejecuta intentó vivir con los valores; aquí, un valor intentó vivir con los que ejecutan. Recordemos el reparto: los nombres, valores inertes, viven en el DataHeap; los verbos y los flujos, en el ExecHeap. La puerta del ExecHeap admite todo tipo excepto el que deriva la respuesta inerte, y justamente ese llegó. Para decidirlo, el motor no reconoce una palabra: vuelve a hacer la pregunta única, ¿ejecutarme produce un valor?, de modo que los dos hogares se apoyan en un solo criterio y nunca discrepan. Esta regla cubre la mitad que antes solo se cumplía por ausencia: un valor nunca se sienta en el ExecHeap. Ahora que esa población existe, hay que vigilarla de verdad. Es una comprobación en tiempo de ejecución, porque el tipo se lee de trinity.feml al nacer y ningún compilador puede saber qué tipo es cada puntero. El mensaje trae el detalle. Qué hacer: lleva ese valor al DataHeap. Un valor no ejecuta; solo espera a que lo lean.
Texto del catálogo de errores del motor de Rush.
