При чтении http://uncyclopedia.wikia.com/wiki/Haskell (и игнорируя все "оскорбительные" вещи), я наткнулся на следующий фрагмент запутанного кода:
fix$(<$>)<$>(:)<*>((<$>((:[{- thor mother -}])<$>))(=<<)<$>(*)<$>(*2))$1
Когда я запустил этот фрагмент кода в ghci
(после импорта Data.Function
и Control.Applicative
), ghci
печатает список всех степеней 2.
Как работает этот кусок кода?