Я начал изучать Haskell, и я столкнулся с проблемой, которую я не могу просто понять. У меня есть метод, используемый для поиска значения из списка списка значений ключа (от этой страницы):
let findKey key xs = snd . head . filter (\(k,v) -> key == k) $ xs
Я попытался немного поиграть и решил избавиться от знака $таким образом:
let findKey key xs = snd . head . filter (\(k,v) -> key == k) ( xs )
Однако он даже не анализирует (фильтр применяется к слишком большому числу ошибок argumens). Я читал, что знак $используется, чтобы просто заменить скобки, и я не могу понять, почему это простое изменение кода плохое. Может кто-нибудь объяснить это мне?