标准ML:如何使用mosmlc编译ML程序?

标准ML:如何使用mosmlc编译ML程序?,sml,Sml,我想用mosmlc将我的ML程序编译成一个可执行的二进制文件。然而,我找不到多少关于如何做的信息 我想编译的代码在这里 cx、cy、s、imgLocation是我想从命令行参数中获取的4个参数。例如,如果程序使用名称mandelbrot编译,则输入bash$mandelbrot-0.50.15 0.0099 image.png应执行主函数。您应能够将此代码放入文件foo.sml,然后运行 mosmlc -P full foo.sml 要获取所需的命令行参数,请使用函数CommandLine.a

我想用mosmlc将我的ML程序编译成一个可执行的二进制文件。然而,我找不到多少关于如何做的信息

我想编译的代码在这里


cx、cy、s、imgLocation是我想从命令行参数中获取的4个参数。例如,如果程序使用名称
mandelbrot
编译,则输入
bash$mandelbrot-0.50.15 0.0099 image.png
应执行主函数。

您应能够将此代码放入文件
foo.sml
,然后运行

mosmlc -P full foo.sml
要获取所需的命令行参数,请使用函数
CommandLine.arguments
,例如

val (cx, cy, s, imgLocation) = 
  case CommandLine.arguments () 
    of [a, b, c, d] -> (a, b, c, d)
     | _ -> (usage(); Process.exit Process.failure)
您必须编写自己的
用法
函数



另外,如果您可以访问
mosmlc
,您可能还可以访问交互式
mosml
,它有一个非常有用的
help
函数,类型为
string->unit

mosmlc对代码不太有效:bash$mosmlc-p完整的tick6s.sml文件“tick6s.sml”,第76行,字符13-15:!val=main(cx:real,cy:real,s:real,imgLocation:string);!^^^^!未绑定值标识符:cxit现在工作正常。如果有人感兴趣,请点击我原始问题中的链接查看修改后的代码。