如何运行(解释)存储在文件中的方案程序



目前我正在使用Petite-Chez Scheme的REPL功能。这对于小例子等工作正常。

但是,如何将整个程序存储在文件".scm"中,然后从命令行运行(解释(它?我熟悉(加载"C:/.."(命令,但这仅将定义从文件加载到 REPL 中。

如何使用 Scheme 运行程序,例如 C/C++ 中的程序,在其中编译然后执行二进制".exe"?

谢谢。

简而言之,您只需将程序编写在一个文件中,#!/usr/bin/scheme --script作为程序的第一行,将其标记为可执行文件,然后运行它。下面是模拟 Unix echo 命令的示例脚本:

#!/usr/bin/scheme --script
(let ([args (cdr (command-line))])
  (unless (null? args)
    (let-values ([(newline? args)
                  (if (equal? (car args) "-n")
                      (values #f (cdr args))
                      (values #t args))])
      (do ([args args (cdr args)] [sep "" " "])
          ((null? args))
        (printf "~a~a" sep (car args)))
      (when newline? (newline)))))

有关详细信息,请参阅使用 Chez 方案的第 2.6 节。

如果你想要一个实际的可执行文件,有几个实现支持编译为本机可执行文件。Racket就是其中之一,它支持许多不同的方案版本和方言(R5RS,R6RS,Racket等(。还有很多。Chicken(R5RS + SRFIs(,Gambit(R5RS + SRFIs(和Bigloo(R5RS,+ SRFIs(仅举几例。

最新更新