Wczoraj próbowałem ukraść cudzy kod zainspirować się cudzym projektem i nagle wyskakuje mi konflikt nazw na operatorze >$$<
. Tak, ktoś w mało znanym i przydatnym projekcie zrobił sobie operator >$$<
. I ten operator popadł w konflikt z operatorem z biblioteki relude
, której używam jako biblioteki standardowej. Pewnie się zastanawiacie co robi operator >$$<
w bibliotece standardowej. Oczywiście wygooglanie frazy Haskell >$$<
nie zwraca nic konkretnego. Na szczęście jest Hoogle i możemy się dowiedzieć że operator >$$<
robi to samo fo funkcja contramap
co ma nawet sens bo operator <$>
robi to samo co funkcja fmap
(zwana map
w Scali czy Select
w C#).
Co robi operator >$$<
w projekcie który staram się zrozumieć nie mam pojęcia :D
Dlatego zastanawiam się co biorą programiści Haskella gdy wymyślają te operatory :P
PS problem też dotyczył legendarnej biblioteki Scalaz w Scali. Też była zawalona dziwnymi operatorami, ale w owiele mniejszym stopniu