Что такое функтор в функциональном программировании?
Я сталкивался с термином "функтор" несколько раз, читая различные статьи по функциональному программированию, но авторы обычно предполагают, что читатель уже понимает этот термин. Оглядываясь вокруг в интернете предоставил либо чрезмерно технические описания (см. статья в Википедии) или невероятно расплывчатые описания (см. раздел о Функторах на этом ocaml-учебник веб-сайт).
может кто-то любезно определить термин, объяснить его использование, и, возможно, приведите пример того, как создаются и используются функторы?
Edit: хотя меня интересует теория, лежащая в основе термина, меня меньше интересует теория, чем реализация и практическое использование концепции.
Edit 2: похоже, что происходит какая-то кросс-терминолигия: я конкретно имею в виду функторы функционального программирования, а не функциональные объекты C++.
Comments