4

如何使用 SML/NJ 运行从 STDIN 读取并写入 STDOUT 的脚本?有没有办法摆脱解释器本身的输出?

4

1 回答 1

3

需要非常清楚的是,SML/NJ 并不是严格意义上的解释器。它是一个恰好有 REPL 的编译器。实现您所建议的最佳方法是创建一个堆映像(基本上是一个已编译的二进制文件,准备好由 SML/NJ 运行时系统加载),然后使用sml @SMLload=heapfile.imgwhereheapfile.img是您的堆文件的名称直接运行它生成。您可能还想@SMLquiet作为命令行选项传递。这将在加载堆文件时抑制任何输出。

您可能还只是尝试将程序编译为可以独立运行的程序,在这种情况下,您可能希望查看MLton编译器。

于 2011-11-25T00:21:42.027 回答