如何使用MIT-Scheme执行.scm脚本(在REPL之外)?

时间:2009-05-24 15:13:12

标签: scheme mit-scheme

我想键入类似'scheme file.scm'的内容并让它解释文件,然后将我带回我的shell,而不是将其加载到REPL中。

编辑:我试过方案< test.scm并且它仍然使用REPL,唯一的区别是当流结束时方案退出。

4 个答案:

答案 0 :(得分:32)

scheme <file.scm应该可以工作(只要你没有指定--interactive并且stdin不是终端,方案就可以非交互方式工作)。

答案 1 :(得分:11)

使用MIT Scheme运行方案程序:

scheme --quiet < program.scm

--quiet选项确保程序的输出是唯一显示的内容(即根据您的要求,您不会看到REPL)。

参考:scheme --help

  

- batch-mode, - quiet, - silent

     

禁止版本和版权的启动报告,以及   惜别。

这个命令行选项似乎已被错误地从list of command line options in the documentation中省略,但我认为这是一个有效的命令行选项,因为scheme --help显示它,并且因为--batch-mode用于参考手册的其他部分(例如here)。

答案 2 :(得分:6)

我认为你想要的是SCM。您可以像这样执行.scm脚本:

$ scm -f foo.scm arg1 arg2 arg3

有关详细信息,请参阅http://people.csail.mit.edu/jaffer/scm_3.html#SEC28

SCM主页:http://people.csail.mit.edu/jaffer/SCM

答案 3 :(得分:0)

选中chez --help,然后我发现了这一点(让我们说我用chez方案):

chez --script ./temp.scm

此外,--verbose非常有用:

chez --verbose --script ./temp.scm