球拍/曲目的解释和评估之间有什么区别?

问题描述 投票:1回答:2

乍看之下,它们看起来非常相似。他们是同义词吗?

scheme racket
2个回答
2
投票

解释意味着评估,但并非所有评估都必须是解释。

解释器是将程序作为输入并对其求值的函数或程序。口译通常是指“与口译人员的评估”。

另一方面,评估并不总是意味着解释。评估可以通过执行已编译的程序,通过JIT编译器运行,迭代小步缩减或除解释之外可以想到的任何其他方法来进行。


0
投票

评估是为计算提供答案的过程的名称。

解释是实现评估的一种方式(解释器是实现eval函数的函数)。

编译与解释相同(它执行与解释程序几乎相同的步骤),但是它会预先计算有关代码的静态结果,并为虚拟机(方案的SECD机器)生成字节码。虚拟机是实现评估等的另一种方式。

还有其他实施评估的方法。指称语义是一种方法(也是最简单的一种,尽管它涵盖了所有主要概念)。

实现评估的另一种方法是通过redex

要了解更多,您可以查看大学教授的SICP类型的课程。

© www.soinside.com 2019 - 2024. All rights reserved.