Просматривая различные обучающие материалы о различных классах тематических классов Haskell, мы находим такие вещи, как Monoid
, Functor
, Monad
и т.д. - все из которых имеют десятки экземпляров. Но по какой-то причине, когда мы достигаем Arrow
, есть только два экземпляра: функции и монады. В обоих случаях использование экземпляра Arrow
менее сильное и сложнее, чем просто непосредственное использование основной вещи.
Есть ли у кого-нибудь интересные примеры стрелок? Я уверен, что должно быть что-то, но я никогда не сталкивался с ними ни о чем писать...