经过几年的编程,似乎是时候最终攻击SICP 了。但是,与其在 Emacs 中编辑和运行所有内容,我更愿意使用不同的编辑器和一个简单的makefile来运行所有练习。这似乎并不完全是经典,因为在某些“失败”之前,我找不到任何对像运行文件这样基本的东西的引用。那么如何在 shell 上运行 Scheme,以便它加载文件,按顺序评估每个表达式,并在遇到一个评估为或退出代码为零的语句时立即以非零退出代码终止,如果#f
整个文件评估成功?到目前为止最接近解决方案的事情:
$ cat ch1.scm
...
(= 1 2)
$ scheme --load ch1.scm
...
Loading "ch1.scm"... done
1 ]=>
编辑:换句话说,如果其中的任何表达式评估为 ch1.scm ,是否有某种方法可以在加载 ch1.scm 期间停止评估#f
?