scheme - 在 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?
解决方案
是的,DrRacket 已经足够好了。我已经完成了书中几乎所有的练习,而且我只使用了 DrRacket。您可以为 DrRacket 使用SICP 包,这样该语言就更接近于本书中 SICP 风格的方案。这也将为第 2 章的练习添加 sicp-pict 支持。
您无需查看 DrRacket 中的环境。在第 3 章中,您会遇到环境图——但这些是铅笔和纸的练习。在第 4 章中,您将自己实施环境作为实施方案的一部分。当它提到探索环境时,它可能意味着从学术角度探索评估的环境模型(它是什么?,为什么我们有它?,它的优点和缺点是什么?)。
我不熟悉“示例编程作业”,除了包含有用的材料外,它们还可能使事情复杂化。例如,我注意到 1.1 的代码使用了本书 1.3 才引入的 lambda。
推荐阅读
- laravel - 使用 OAuth2.0 向 Google API 发布请求
- oracle - 我可以在 Oracle 中触发器的 BEGIN 语句之后声明一个 CURSOR 吗?
- java - 后增量和前增量
- javascript - CastError:模型“posts”的路径“_id”处的值“”转换为 ObjectId 失败
- java - java.lang.IllegalStateException:驱动程序可执行文件不存在:/var/lib/jenkins/jobs/Ancon-Automation/workspace\src\main\...\chromedriver.exe
- html - 将 css 应用于所有覆盖更高说明符的段落元素
- c# - 类型名称中的空格
- gcloud - 在 chrome book 上启动 gcloud 机器的快捷方式
- python - 实时更新 matplotlib Pie
- reactjs - 反应传单找不到'pathtofile'的路径