Короче говоря, нет.
SML предназначен для использования ~
для унарного минуса, чтобы избежать путаницы с -
(двоичный минус).Это разумное решение, когда у вас есть каждый оператор только для одной цели, и пользователи SML должны с этим мириться.
Хотя странно читать строковое представление целого числа, начинающегося с ~
, в обычном соглашении нет библиотечной функции для преобразования ее в строку.Кстати, ваша функция - хороший способ сделать это.