>А зачем смешивать императивное и функциональное программирование,
Затем же зачем Вы смешиваете язык программирования и P машину.
Если вы не поняли то, поясняю - в спецификации jvm добавлена возможность, позволяющая запускать программы сделанные на других языках программирования (не java).