小打字机

The Little Typer

在"The Little Typer"书中,我刚刚开始使用DrRacket。从 David Christiansen 的视频中,我输入了:

(claim two-plus-two-is-four
  (= Nat (+ 2 2) 4))

返回错误:

 claim : this function is not defined.

为什么?

首先你需要安装pie。在 DrRacket 中,您可以使用:File > Package Manager... > Do What I Mean ,在包源字段中键入 pie,然后单击安装。

或者,如果您使用的是命令行,则可以使用以下命令安装它:

raco pkg install pie

其次,如果您使用的是 DrRacket,则需要确保在 window 的左下角选择了 "Determine Language from Source"(在命令行中这是默认设置)。

第三,将 #lang pie 放在文件的顶部。

#lang pie

(claim two-plus-two-is-four
  (= Nat (+ 2 2) 4))

这仍然不起作用,因为 + 不是内置的;它可以根据其他内置的东西来定义(这在本书的第 72 - 77 页上有讨论)。