Какую функциональность вы получаете бесплатно с Functors или другими классами типов?

Я прочитал статью, в которой говорится:

Предоставление экземпляров для многих стандартных классов типов [Functors] сразу даст вам много функциональности практически бесплатно

Мой вопрос: что это за функциональность, которую вы получаете бесплатно (для функторов или других классов типов)? Я знаю, что такое определение функтора, но что я получаю за бесплатно, определяя что-то как функтор/другой класс типов. Что-то кроме более красивого синтаксиса. В идеале это должны быть общие и полезные функции, оперирующие функторами/другими классами типов.

В моем воображении (которое может быть ошибочным) под свободным понимаются функции такого рода: TypeClass x => useful x y = ...

== Редактирование/дополнение ==

Полагаю, я спрашиваю в основном о более абстрактных (и мозговыносящих) классах типов, таких, как на этом изображении. Для менее абстрактных классов, таких как Ord, моя объектно-ориентированная интуиция понимает.

11
задан user1138184 9 January 2012 в 08:44
поделиться