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

时间:2010-01-02 23:43:49

标签: sml

我想使用mosmlc将我的ML程序编译成可执行的二进制文件。但是,我找不到有关如何做的更多信息。

我想编译的代码在http://people.pwf.cam.ac.uk/bt288/tick6s.sml

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

1 个答案:

答案 0 :(得分:2)

您应该能够将此代码放入文件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)

您必须编写自己的usage功能。


P.S。如果您有mosmlc的访问权限,则可能还可以访问交互式mosml,其中包含一个非常有用的help函数,类型为string -> unit