首页 > 解决方案 > 在 DrRacket 调试器中查看有关环境的信息

问题描述

我已经开始阅读计算机程序的结构和实现,在第一个练习中(https://mitpress.mit.edu/sites/default/files/sicp/psets/ps1/readme.html)它谈到了文本-编辑系统 Edwin. 我正在使用 DrRacket,因为我看到它建议作为现代 Windows 10 的 Edwin 的一个很好的替代品。但是,我没有看到任何与以下环境信息等效的信息:

ENVIRONMENT named: (user)
    p1 = #[compound-procedure 31 p1]
    p3 = #[compound-procedure 32 p3]
    p2 = #[compound-procedure 27 p2]
==> ENVIRONMENT created by the procedure: P1
      x = 1
      y = 2

我在哪里可以找到有关环境本身的信息,而不仅仅是访问堆栈和变量,特别是因为在练习中它说环境将被更彻底地探索,我想知道 DrRacket 是否真的足够好我是在整本书中使用还是只是为了适应另一个 IDE?

标签: schemeracketsicp

解决方案


是的,DrRacket 已经足够好了。我已经完成了书中几乎所有的练习,而且我只使用了 DrRacket。您可以为 DrRacket 使用SICP 包,这样该语言就更接近于本书中 SICP 风格的方案。这也将为第 2 章的练习添加 sicp-pict 支持。

您无需查看 DrRacket 中的环境。在第 3 章中,您会遇到环境图——但这些是铅笔和纸的练习。在第 4 章中,您将自己实施环境作为实施方案的一部分。当它提到探索环境时,它可能意味着从学术角度探索评估的环境模型(它是什么?,为什么我们有它?,它的优点和缺点是什么?)。

我不熟悉“示例编程作业”,除了包含有用的材料外,它们还可能使事情复杂化。例如,我注意到 1.1 的代码使用了本书 1.3 才引入的 lambda。


推荐阅读