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

时间:2013-07-08 18:03:21

标签: scheme read-eval-print-loop chez-scheme

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

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

如何在C / C ++中使用类似程序的程序运行程序,我编译然后执行二进制文件“.exe”?

感谢。

2 个答案:

答案 0 :(得分:2)

简单地说,您只需将程序写入文件,将#!/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)))))

有关详细信息,请参阅Using Chez Scheme的第2.6节。

答案 1 :(得分:0)

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