如何执行。 带有 MIT-Scheme 的 scm 脚本(REPL 外部) ?

I want to type something like 'scheme file.scm' and have it interpret the file, and then take me back to my shell, rather than loading it in the REPL.

edit: I tried scheme < test.scm and it still uses the REPL, the only difference is that scheme exits when the stream ends.

转载于:https://stackoverflow.com/questions/903968/how-do-i-execute-a-scm-script-outside-of-the-repl-with-mit-scheme

scheme <file.scm should work (as long as you don't specify --interactive and stdin is not a terminal, scheme works non-interactively).

I think what you want is SCM. You can execute a .scm script like this:

$ scm -f foo.scm arg1 arg2 arg3

See http://people.csail.mit.edu/jaffer/scm_3.html#SEC28 for more details.

The SCM homepage: http://people.csail.mit.edu/jaffer/SCM

To run a scheme program using MIT Scheme:

scheme --quiet < program.scm

The --quiet option ensures that the output from your program is the only thing that is displayed (i.e. you won't see the REPL, as per your requirements).

Reference: scheme --help

--batch-mode, --quiet, --silent

Suppresses the startup report of versions and copyrights, and the valediction.

This command line option seems to have been mistakenly ommitted from the list of command line options in the documentation, but I think this is a legimate command line option because scheme --help shows it, and because --batch-mode is used in other parts of the reference manual (e.g. here).

checked chez --help, and then I found this(let's say that I'm using chez scheme):

chez --script ./temp.scm

Also, --verbose is very useful:

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