仅打印使用SML/NJ打印输出
我试图使用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
来运行代码,但它输出了太多的信息
例如,这是源.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
命令旨在以交互方式使用。在我看来,您最好从程序中构建一个独立的可执行文件
有几种选择:
$ mlton your-program.sml
$ ./your-program
3628800