Rust soundness
Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов: sum, min, max, any. Например, что должен вернуть max для пустого списка?
В питоне? Enjoy your ValueError exception.
В Rust'е? Max возвращает Some с результатом. Или None (который вариант от Option, а не абстрактный синглтон None).
В питоне? Enjoy your ValueError exception.
В Rust'е? Max возвращает Some с результатом. Или None (который вариант от Option, а не абстрактный синглтон None).
no subject
Занятная тема. Вот тут разъясняют, почему можно сумму по-всякому определить.
И тогда мне непонятно, откуда это расту известно, что sum на моноиде определен, а min и max на полугруппе?