我应该使用哪种Lisp方言,以及*我应该如何开始使用SICP?我使用Dr。Racket&知道一点球拍

时间:2014-11-02 23:34:50

标签: emacs lisp racket sicp

我一直在和博士一起工作。球拍(刚刚开始)通过华盛顿大学的课程“编程语言”MOOC。所以我刚刚开始学习球拍语言。与此同时,我想开始阅读 SICP 并观看1986年MIT OCW的讲座视频。我想知道我应该使用什么样的Lisp方言所以我将能够从MIT OCW的视频讲座到 Emacs 博士。球拍即可。 [这基本上是我的问题]。人们会推荐什么?特别是那些观看了1986年讲座的人,已经阅读了SICP的封面,至少有一些练习,并且理想情况下也熟悉Dr. Racket,Racket以及Lisp和Scheme的多种方言,但我对所有观点持开放态度。

1 个答案:

答案 0 :(得分:4)

我通过SICP阅读并使用PLT计划进行了所有练习,尽管当时它被称为Dr. Dr而不是Dr。Racket。我全心全意地推荐它。 EMACS很棒(我的主编),但学习它比学习计划更难。只有一个问题需要解决,这是最好的。

我使用的R4RS方案最接近SICP中的版本。

如果仍然是最新版本,那么你应该没问题。如果没有那么几乎任何调用自己的方案都可以。

我认为你在第3章开始使用Racket本身时就不会遇到很多问题,因为他们开始使用set-car!这样的东西,但是如果你走得那么远,你可能会解决这个问题。那时候你会发生什么事。


编辑:

只是为了检查一下,我刚刚在我的Debian盒子上试过它: 缺少R4RS,但R5RS应该没问题。

$ sudo apt-get install plt-scheme

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

运行Dr Racket

$ 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的hello世界,如果你能做到这一点,那么你应该对本书的前几章感到满意。

我记得在某处有一个递归的图形练习,这有点像工作,但它可以做到。跳过它吧。其他一切都应该没问题。

如果您遇到任何麻烦,请与我联系,我将告诉您如何通过它。

祝你好运!