Получение ошибки несвязанной переменной или конструктора - PullRequest
0 голосов
/ 15 сентября 2018

Код работает нормально в онлайн-версии Standard ML of New Jersey v110.78, но показывает ошибку в Unix SNL / NJ .93. вот код

fun check( num:int ) = 

 let
   val x = List.tabulate(num, fn x => x*x)
   val k =tl(x)
   val y = List.filter( fn z => num mod z = 0)k
   val ans = List.last(y)
   val final = Real.ceil(Math.sqrt (Real.fromInt ans))
 in
 final
 end;
val nu = check(8)

Ошибки - несвязанный конструктор или переменная в таблице, фильтре, последнем, ceil и несвязанной структуре для Math.

1 Ответ

0 голосов
/ 17 сентября 2018

Похоже, ваша стандартная библиотека в этом SML / NJ .93 настроена неправильно.Если вы прочитали StackOverflow Q & A , как установить версию SML-New Jersey .93. , вы увидите, что

SMLNJ версия 0.93 была выпущена в 1993 году.цели.[...] Он никогда не тестировался ни на одной версии Microsoft Windows [...] Весьма маловероятно, что он будет работать под Windows [...]

. Я бы рекомендовал не использовать эту версию.если вы не готовы справиться с последствиями запуска программного обеспечения, которое не было разработано для операционных систем нашего времени, будь то Windows или что-то еще.

...