Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅打印使用SML/NJ打印输出_Sml_Smlnj_Ml - Fatal编程技术网

仅打印使用SML/NJ打印输出

仅打印使用SML/NJ打印输出,sml,smlnj,ml,Sml,Smlnj,Ml,我试图使用SML/NJ,我使用SML()在代码中,但我仍然有一些消息: Standard ML of New Jersey v110.77 [built: Tue Mar 10 07:03:24 2015] - 3628800 如何仅打印输出 sml命令旨在以交互方式使用。在我看来,您最好从程序中构建一个独立的可执行文件 有几种选择: 如果您依赖SML/NJ扩展,或者无法使用其他ML实现,则可以按照中的说明构建SML/NJ堆映像,该映像可以使用转换为独立的可执行文件 更好的选择可能是使用编译器

我试图使用SML/NJ,我使用
SML
来运行代码,但它输出了太多的信息

例如,这是
源.sml

fun fac 0 = 1
  | fac n = n * fac (n - 1)
val r = fac 10 ;
print(Int.toString(r));
这是输出:

Standard ML of New Jersey v110.77 [built: Tue Mar 10 07:03:24 2015]
- val fac = fn : int -> int
val r = 3628800 : int
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[autoloading done]
3628800val it = () : unit
从,和,我得到了一些如何抑制它们的提示

我执行
CM\u VERBOSE=false sml<$filename
并添加了一行
Control.Print.out:={say=fn=>(),flush=fn()=>()在代码中,但我仍然有一些消息:

Standard ML of New Jersey v110.77 [built: Tue Mar 10 07:03:24 2015]
- 3628800

如何仅打印输出

sml
命令旨在以交互方式使用。在我看来,您最好从程序中构建一个独立的可执行文件

有几种选择:

  • 如果您依赖SML/NJ扩展,或者无法使用其他ML实现,则可以按照中的说明构建SML/NJ堆映像,该映像可以使用转换为独立的可执行文件

  • 更好的选择可能是使用编译器,这是标准ML的另一个实现。它缺少REPL,但与SML/NJ不同,它不需要样板文件来生成独立的可执行文件。构建简单到发布:

    $ mlton your-program.sml
    $ ./your-program
    3628800