Редактировать: Я ответил, что библиотечная функция называется Real.abs
, а не Math.abs
, и отметил, что она обрабатывает несколько угловых случаев (± бесконечность, ± 0,0, ± NaN), что ваша пользовательская функция abs
не работает.
Если, однако, вы хотите попробовать и заставить работать свою собственную функцию abs
, я попытался запустить вашу программу в SML / NJ 110,79 (apt install smlnj
), Poly / ML 5.7.1 (apt install polyml
) и Moscow ML 2,10 (http://try.mosml.org) без ошибок. Возможно, у вас нестабильная версия или у вас 64-битные проблемы?