2016-03-22 8 views
0

これは私がubuntuとSML/NJを初めて使ったことです。そして、私は表現CM.make()使用する場合、この質問は私に発生しました:なぜ、どこで私が間違っている「CM.make();」を使用しているときにエラーが発生しました。 SML、Ubuntu

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() 

を私は知りません。
誰かが私を助けることができますか?上記のエラーが言う何

答えて

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は、文字列引数(「オペレータドメイン:文字列」)を受け付ける関数であるということですが、あなたはそれをユニット()引数与えた(「オペランド:単位を」)。

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ファイルで行うことができる他のことがありますが、上記の内容で十分です。

関連する問題