Произошла ошибка, когда я использовал "CM.make();" в SML,Ubuntu
Я впервые использую 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 ответ
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.sml
а также file-2.sml
,
Есть и другие вещи, которые вы можете сделать с файлами.cm, которые описаны в руководстве по CM, но приведенного выше должно быть достаточно для начала работы.