Начало основного контента

Как поймать рекурсию за хвост

Зал 1
Язык -RU

Преобразование хвостовой рекурсии в цикл является популярной оптимизацией в функциональных языках программирования, но в Java-мире это преобразование окутано загадками.

Разберемся, можно ли в Java заменить хвостовой рекурсивный вызов на цикл, зачем вообще это делать, какие виртуальные машины этим занимаются (и легально ли?). Также попробуем сторонние инструменты, которые могут помочь оптимизировать программы в функциональном стиле. И, конечно же, посмотрим на дружественные JVM-языки, имеющие более выраженные функциональные наклонности (Scala, Kotlin и т. д.). 

  • #computer-science
  • #kotlin
  • #scala
  • #compilation
  • #bytecode

Приглашенные эксперты