Что такое идиоматическое решение Haskell для инъекции зависимостей?
Например, предположим, что у вас есть интерфейс frobby, и вам нужно передать экземпляр, соответствующий frobby вокруг (могут быть несколько разновидностей этих экземпляров, скажем, foo и bar).
Типичные операции:
-
которые принимают некоторое значение
Xи возвращают некоторое значениеY. Например, это может быть аксессуар базы данных, содержащий SQL-запрос и соединитель и возвращающий набор данных. Возможно, вам понадобится реализовать postgres, mysql и макет тестовой системы. -
которые принимают некоторое значение
Zи возвращают замыкание, относящееся кZ, специализированное для данного стиляfooилиbar, выбранного во время выполнения.
Один человек решил проблему следующим образом:
http://mikehadlow.blogspot.com/2011/05/dependency-injection-haskell-style.html
Но я не знаю, каков ли этот способ управлять этой задачей.