Исходя из моего личного опыта и творческого подхода (оба они ограничены), я полагаю, ответ - нет.
Возьмите изменяемые массивы, например. Кажется, что есть определенные проблемы, которые могут быть наиболее эффективно решены с помощью изменяемых структур данных с произвольным доступом, то есть массивов. Вы можете использовать другую структуру данных, такую как словарь (карта в F #), которая совместима с функциональным подходом, но тогда у вас не будет произвольного доступа, и эффективность вашего алгоритма будет хуже из-за фактора log n.
В некоторых довольно редких случаях может быть не только практично, но и более эффективно, даже когда речь идет о чисто вычислительных задачах, использовать псевдонимы, таким образом, множественные ссылки на одну и ту же структуру данных для возможности доступа к указанной структуре данных различными способами. Но псевдонимы также несовместимы с неизменяемостью фунцитонального подхода.
Примеры, подобные этому, позволяют предположить, что чисто функциональный подход не может быть столь же эффективным, как императивный, во всех случаях. Конечно, я знаю, что функциональные языки полны по Тьюрингу, но я недостаточно хорошо помню доказательство, чтобы судить о том, говорит ли оно нам также что-то о сложности времени и пространства. Итак, что мы знаем об этом с теоретической точки зрения? Правильно ли мое предположение?