Функции sum(), sumOf() и runningReduce() в Kotlin отличаются по назначению и способу работы:
- sum() возвращает сумму элементов в числовой коллекции. spec-zone.ru kotlinlang.ru
- sumOf() — расширенная функция суммирования. spec-zone.ru kotlinlang.ru Она принимает функцию-селектор, которая применяет заданную операцию к каждому элементу коллекции, и возвращает сумму всех элементов с учётом этих изменений. kotlinlang.ru Селектор может возвращать различные числовые типы: Int, Long, Double, UInt и ULong (а также BigInteger и BigDecimal из JVM). kotlinlang.ru
- runningReduce() — функция, которая возвращает список с последовательными значениями накопления, начиная с первого элемента. habr.com Она принимает функцию, которая берёт текущее значение накопителя и элемент и вычисляет следующее значение накопителя. habr.com
Таким образом, sum() — это базовая функция суммирования, sumOf() — более специализированная, а runningReduce() — функция для работы с промежуточными значениями накопления.