题
我一直在使用 PLT计划,但它有一些问题。有没有人知道通过SICP更好的实施?
解决方案
使用 麻省理工学院计划 。
由SICP的作者推荐,并在麻省理工学院用于 6.001:计算机程序的结构和解释课程。
其他提示
使用球拍(原PLT计划)。
DrRacket IDE是包括SICP在内的所有方案的绝佳起点。
要在文档中查找关键字,请将光标放在关键字上,然后按 F1 。在DrRacket中,您现在可以直接在REPL中看到图像(read-eval-print-loop)。
SICP对DrRacket的支持,作者:Neil van Dyke。
更新:新的SICP软件包位于 http://pkgs.racket-lang.org /#[SiC颗粒]
使用程序包管理器(在DrRacket中)下载它或使用 raco
。
手册
Update2:如果你想尝试新的SICP图片语言实现,那么下载 SiC颗粒-pict2.rkt 。
MIT / GNU Scheme ,只需确保加载SICP兼容性包(是的,它们提供特定的库以增强对SICP练习的保证)。
本周我刚刚开始做SICP。
目前,MIT Scheme在Ubuntu Linux(9.04“jaunty”)中被破解。它可能在将来有效。
DrScheme正在工作,并且运作良好。您可以使用上面列出的soegard包装或Neil Van Dyke的包装,该包装基于soegard的包装,可从 http获得。 ://www.neilvandyke.org/sicp-plt/ 。关于这个软件包的好处是,安装后,您可以使用Language | Choose Language ....菜单项来选择SICP。
这对于在macOS上完成是令人惊讶的烦恼。假设你有自制软件,这就是今天的工作方式。 (可能偶尔会运行 brew update
。)
brew cask install racket
raco setup # might be optional
raco pkg install sicp
现在你可以(需要sicp)
或者只是运行
racket -l sicp --repl
您可能希望缩写为 scheme
。在bash中,它是
alias scheme='racket -l sicp --repl'
您可以将其添加到〜/ .bashrc
CHICKEN Scheme 有 sicp库,为SICP提供支持。你可以通过运行 chicken-install sicp
并在源代码的开头写这个来安装它:(使用sicp)
。
我现在正在使用 Chez Scheme 来完成SICP。这是一个相当古老的Scheme方言,所以可能与SICP的写法并不太远。
请注意,Chez Scheme项目页面链接了一个可以在类Unix平台上构建的Windows二进制文件和源代码。但如果你在Mac上,你可能会想要
brew chezscheme
man chez
假设你有自制软件,你真的应该这样做。
麻省理工学院计划为何不?因为交互式前端是Edwin,一个使用EMACS约定的编辑器。 (目前,这是一个实际的EMACS模式,以前它曾在Scheme中实现过。)我曾经知道基本的EMACS,但我的技能因废弃而萎缩,这告诉我重新学习这个编辑器是不值得的。
为什么不用DrRacket?如果我看过@ frederick-squid的酿造说明,我可能会尝试一下。相反,我试图遵循计划和sicp的官方说明,这些指令严重过时。然后我尝试让IDE进入方案模式,这似乎是直观的但不是。
太麻烦了。而且我不确定我是否想进入一个花哨的语言设计IDE,特别是那个对Scheme的支持不力引发原始问题的IDE。