Я ищу функцию SML, которая принимает неотрицательное целое число и возвращает список всех целых чисел от 0 до, но не включая данное значение, аналогично range () в Python. Да, я могу (и написал) свою собственную, но я бы предпочел что-то встроенное, что мне не нужно копировать и вставлять в каждый проект, в котором я хочу его использовать. Есть идеи? Заранее спасибо!
% Python code
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
(* SML code: my implementation; I'd prefer a built-in version *)
fun range x =
let fun helper current stop =
if current = stop
then nil
else current :: (helper (current + 1) stop)
in helper 0 x
end;
(* my code when run *)
- range 10;
val it = [0,1,2,3,4,5,6,7,8,9] : int list