После нескольких лет программирования, похоже, пора наконец атаковать SICP . Однако вместо того, чтобы редактировать и запускать все в Emacs, я бы предпочел использовать другой редактор и простой make-файл для выполнения всех упражнений. Это не кажется полностью каноническим, потому что я не мог найти никаких ссылок на что-то столь же простое, как запуск файла, пока что-то «не сработает». Итак, как мне запустить Scheme в оболочке , чтобы он загружал файл, оценивал каждое выражение в последовательности и завершался ненулевым кодом выхода, как только он встречает оператор, который оценивается как #f
или с нулевым кодом выхода, если весь файл был успешно оценен? На данный момент наиболее близкий к решению:
$ cat ch1.scm
...
(= 1 2)
$ scheme --load ch1.scm
...
Loading "ch1.scm"... done
1 ]=>
Изменить: Другими словами, есть ли способ сделать остановка оценки во время загрузки ch1.scm, если какое-либо из выражений в нем оценивается как #f
?