Разложение (модульность) в функциональных языках

Есть идея: функции (в FP) могут быть составлены так же, как компоненты в ООП. Для компонентов в ООП мы используем интерфейсы. Для функций мы можем использовать делегаты. Цель состоит в том, чтобы добиться разложения, модульности и взаимозаменяемости. Мы могли бы использовать внедрение зависимостей, чтобы сделать это проще.

Я пытался найти что-то о теме. Неудачно. Возможно, потому что нет достаточно больших функциональных программ, чтобы нуждаться в этом? При поиске приложений масштаба предприятия, написанных на FP, я нашел этот список.Функциональное программирование в реальном мире а такжеЭта бумага, Надеюсь, я просто пропустил убийственные приложения для FP, которые были бы достаточно большими, чтобы заслуживать декомпозиции.

Вопрос: Не могли бы вы показать достойное реальное приложение FP (желательно с открытым исходным кодом), которое использует декомпозицию на модули?

Бонус болтовни: Какой обычный шаблон используется? Какие функции обычно разлагаются на отдельные модули? Реализованы ли когда-либо реализации для целей тестирования?

Ответы на вопрос(2)

Ваш ответ на вопрос