错误消息
消息中的 %s 表示引擎抛出错误时填入的具体内容。
小故事
上一回,是一个要执行的东西,走错进了值的大门。这一回,正好反过来:有人拿着一个惰性的值,走进了 ExecHeap,也就是动词和流的家。ExecHeap 的门,欢迎一切不是惰性的种类,而惰性的那一种,只属于 DataHeap。引擎是怎么判断的呢?它不是认某个词,而是重新问一遍那个唯一的问题:执行它,会产生值吗?这样两个家,用的是同一条判据,就不会出现两条判据互相矛盾。这条拒绝,替 DataHeap 守住了另一半的规矩:值,永远不住在 ExecHeap 里。它在运行期才发出,因为种类是引擎出生时才读到的,编译器没法提前知道。怎么办?找出是谁把一个值送到了 ExecHeap 的门口,把它送回正确的家。记住:各回各家。
文本来自 Rush 引擎的错误目录。
