其中郎包用于SICP在Dr.Racket是正确的?

我正在尝试使用SICP,但得到了一些代码。所以我开始:


#lang scheme

(word 'comp 'uter)

返回的错误:函数(字)未定义。


即使我尝试将其复制到IDE(运行)中:


(define word?

  (let ((number? number?)

        (symbol? symbol?)

        (string? string?))

    (lambda (x)

      (or (symbol? x) (number? x) (string? x)))))

还是一样。


我认为这可能与语言版本有关。


上面是“简单方案”中的内容,当我在SICP中准确介绍代码时:


(define (sqrt x)

    (sqrt-iter 1.0 x))

IDE返回sqrt-iter未定义。可以在第一章中找到该代码:http : //mitpress.mit.edu/sicp/code/index.html


慕森王
浏览 747回答 3
3回答

弑天下

我注意到Racket 6.5 增加了对SICP的直接支持。我想人们可能想知道这一点。添加SICP支持后,现在可以在Racket中编写如下代码:#lang sicp(#%require sicp-pict)(paint einstein)
打开App,查看更多内容
随时随地看视频慕课网APP