我使用“CM.make();”时发生错误在SML,Ubuntu

时间:2016-03-22 14:07:51

标签: sml smlnj cm

这是我第一次使用ubuntu和SML / NJ。当我使用表达式CM.make()

时,我遇到了这个问题
Standard ML of New Jersey v110.76 [built: Tue Oct 22 14:04:11 2013]
- CM.make() ;

[autoloading]

[library $smlnj/cm/cm.cm is stable]

[library $smlnj/internal/cm-sig-lib.cm is stable]

[library $/pgraph.cm is stable]

[library $smlnj/internal/srcpath-lib.cm is stable]

[library $SMLNJ-BASIS/basis.cm is stable]

[autoloading done]

stdIn:1.2-1.11 Error: operator and operand don't agree [tycon mismatch]

  operator domain: string

  operand:         unit

   in expression:

    CM.make ()

我不知道为什么以及我错在哪里 有人能帮助我吗?

1 个答案:

答案 0 :(得分:3)

stdIn:1.2-1.11 Error: operator and operand don't agree [tycon mismatch]
  operator domain: string
  operand:         unit
  in expression:
    CM.make ()

上面的错误说明CM.make是一个接受字符串参数的函数(“operator domain:string”),但你给它一个单位()参数(“operand:unit”) )。

CM.make需要一个.cm文件的路径,列出源文件:

group is
  file-1.sml
  file-2.sml

将上述内容保存在名为sources.cm的文件中,然后使用CM.make "sources.cm"加载。不要忘记列出您的实际源文件,而不是file-1.smlfile-2.sml

您可以使用CM manual中涵盖的.cm文件进行其他操作,但上述内容应足以让您入门。