Произошла ошибка, когда я использовал "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, но приведенного выше должно быть достаточно для начала работы.

Другие вопросы по тегам