我愿写一个<明星>,让计划译员。 在评价期间的任何时刻,口译人员在作为论据收到以前所看到的一种言论和环境时,都应能够发现。
<<>plain memoization of eval
and apply
is in Efficiency 。 这需要在每张<代码>eval<>/code>//apply
的散列表中研究这些论点,这将要求在海面表上浏览整个(可能较大的)论点。
例如,假设口译员对方案进行评价。
(car (list A))
A. 对大物体进行评价。 口译员在评价申请时,首先对<代码>>>>>>、<代码>和<代码>分别进行评价。 在适用<代码><>list>/code>至A
之前,委员会在其散列表中研究一下该申请是否在前面看到过,从整个<代码>A转向对散射。 稍后,当口译人员在包含A的名单中应用car
时,它就这份清单计算出一个散列,这再次涉及穿过整个物体。
相反,我希望建立一个口译员,以加紧建造大约独特的斜体,尽可能避免计算,并保障不可能发生碰撞。
For example, one could recursively extend each object that the interpreter operates on with the MD5 of its value, or, if it is a compound object, with the MD5 of its component hashes. An environment might store the hash for each of its variable/value entries, and the hash of the environment might be computed as a function of the individual hashes. Then, if an entry in the environment changes, it is not necessary to rewalk the entire environment to compute the new hash of the environment. Instead, only the hash of the changed variable/value pair needs to be recomputed and the global hash of the set of entry hashes needs to be updated.
www.un.org/spanish/ecosoc 是否在逐步建立大约独特的斜体方面开展了相关工作,特别是在复读和/或方案评价方面?