У меня вполне конкретный вопрос по Хаскелю, на который не могу пока найти ответа.
См. код:
f :: a->a
-- имплементация не важна
toString:: a->String
toString (f x) = "Applied f"
toString _ = "any"
То что toString не компилится я уже понял почему, патерн матчинг не такой мощный как я ожидал, и этому есть объяснение. Но цель функции toString я думаю вы поймете.
Я хочу, используя патерн-матчинг, покапаться в дереве выражения на входе.
Как мне это сделать?