Подтвердить что ты не робот

Как преобразовать отрицательные целые числа в строки в SML с знаком минус вместо тильды?

Стандартная функция библиотеки SML Int.toString префикс отрицательных чисел с ~ вместо -. Существует ли библиотечная функция для использования -, вместо записи

fun i2s i =
    if i < 0 then "-" ^ Int.toString (~i) else Int.toString i
4b9b3361

Ответ 1

Короче говоря, No.

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

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