странно. у меня тоже нет никакой практики функциональных языков, но та статья как раз таки и побудила к переводу статьи, которую я сначала списал в утиль :)
В функционально-процедурных языках (JS, C++, C#, ...) производительность, ясное дело, упадёт, однако в тех местах где могут пригодится эти монады производительность вряд ли важна.
Вы бы PHP, JS, C++ и C# в одну кучу не валили, потому что мало того, что изначальная производительность этих языков различается во много раз, так ещё и проседание производительности на подобной архитектуре будет совершенно непропорциональным.
Моя ставка — раз в 20–30 медленнее. Замена двух сравнений и двух вызовов на создание объектов, создание анонимных функций, операции на массивах, call_user_func_array, кучу вызовов функций, проверки типов…
Сейчас интегрировал библиотеки совместно с ядром D7 Битрикса и собираюсь использовать функционал на проекте каталога товаров и на проекте единого каталога тендеров. Как себя поведет библиотека обязательно опишу… но пока после небольшого допиливания напильником библиотека вполне комфортно себя чувствует и работает на платфоме D7 Битрикса.
ну это не вызов как таковой, а последовательность чего-то, что применяется к монаде. и используется это всего лишь один раз — во время описания главной функции получения имени.
или вас от всех замыканий коробит?
Привносим монады в PHP