функции и выражения дают большие возможности для различных оптимизаций на уровне компилятора, в частности ленивость (здесь есть шаринг выражений и различные стадии вычислений). Есть ли что-то подобное на уровне компилятора Скалы ?
нет
компилятор скалы "не знает", есть ли у вашего кода побочные эффекты, он не умеет
Проблема в том чтобы выяснить чистоту функции нужно выяснить чистоту джавакода и скалакода, так что это весьма сложно.
Нет, никаких особенных оптимизаций в скале нет. Более того, ФП-код медленнее императивного. Так что основное преимущество ФП в скале - это простота кода.
Обсуждают сегодня