【问题标题】:which Lisp dialect should I use and *how* should I get started for SICP? I use Dr. Racket & know a little Racket [closed]我应该使用哪种 Lisp 方言以及 *我应该如何*开始使用 SICP?我使用 Racket 博士并且知道一点 Racket [关闭]
【发布时间】:2014-12-29 14:34:37
【问题描述】:

我一直在与博士合作。通过华盛顿大学在 Coursera 上的“编程语言”MOOC 的球拍(刚刚开始)。所以我才刚刚开始学习 Racket 语言。与此同时,我想开始阅读 SICP 并观看 从 1986 年开始在 MIT OCW 上的讲座视频。我想知道应该使用 Lisp 的哪种方言,这样我就可以从 MIT OCW 上的视频讲座到 Emacs 或 获得相当无缝的体验>博士。球拍。 [这基本上是我的问题]。人们会推荐什么?尤其是那些看过 1986 年讲座的人,阅读过 SICP 封面并至少完成了一些练习,并且理想情况下还熟悉 Racket 博士、Racket 以及可能的 Lisp 和 Scheme 的多种方言,但我对所有意见持开放态度。

【问题讨论】:

  • 可能重复。这个问题之前有人问过,见here和here。
  • 我对他们的所有回答都有一些具体问题。 MIT Scheme 没有支持,因为就像 Windows XP 一样,我很遗憾在 7 和 8 上。我的 Linux 机器死了(无论如何它在 Linux 中都有问题)。我希望通过提出一个更具体的问题,我可能会得到更适合我在 2014 年尝试做的事情的答案。我想直接从 1986 年创建的视频讲座和 SICP 书到在 Racket 博士或Emacs 并且不必同时学习 Racket 或 Scheme 的现代方言与 1986 Lisp 之间的差异。
  • 尝试将 DrRacket 与 SICP compatibility language 一起使用,您无需为此学习其他方言。

标签: emacs lisp racket sicp


【解决方案1】:

我通读了 SICP 并使用 PLT Scheme 完成了所有练习,尽管当时它被称为 Dr Scheme 而不是 Dr Racket。我会全心全意地推荐它。 EMACS 很棒(我的主编辑器),但学习它比学习方案更难。最好只解决一个问题。

我用的是R4RS方案,和SICP​​中的版本最接近。

如果它仍然是最新版本,那么你应该没问题。如果不是,那么几乎任何自称为方案的东西都可以。

我认为在第 3 章之前使用 Racket 本身不会遇到那么多问题,在那里他们开始使用 set-car! 之类的东西,但如果你走到了那一步,你可能会自己弄清楚发生了什么到那时。


编辑:

只是为了检查一下,我刚刚在我的 Debian 机器上尝试过: R4RS 不见了,但 R5RS 应该没问题。

$ sudo apt-get install plt-scheme

Windows 安装应该更容易,因为易用性是 Windows 的卖点...

运行球拍博士

$ drracket

DrRacket 版本 5.3.6 说“没有选择语言” 导航到:

Language/Choose Language/Other Languages/Legacy Languages/R5RS

类型:

(define (factorial n)
  (if (< n 2) 1
      (* n (factorial (- n 1)))))

进入顶部窗口

按下运行

类型:

(factorial 10)

进入底部窗口并按回车,它应该会给你

3628800

Scheme 的世界就到这里了,如果你可以让它工作,那么你应该可以阅读本书的前几章了。

我记得在某处有一个递归图形练习,开始工作有点麻烦,但可以完成。跳过它。其他都应该没问题。

如果您遇到任何问题,请联系我们,我会告诉您如何解决。

祝你好运!

【讨论】:

  • 甜蜜!先生,您的博客有了新的阅读器,我今天刚刚决定 Clojure 是我很高兴学习的下一种语言! :-)
  • *今天早些时候。电脑之神一定对我的决定笑了。我在看这个聊天:channel9.msdn.com/shows/Going+Deep/…
  • 代替 R4RS 现在有一个 #lang 专门用于 SICP neilvandyke.org/racket-sicp
猜你喜欢
  • 2010-11-03
  • 2023-03-26
  • 2011-06-14
  • 2013-03-13
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
相关资源
最近更新 更多