Just a quick conceptual question, I am currently trying to learn and understand Haskell better.
I know the Show function is used to convert values to strings, but wh
It's not that they can't, but that there's not usually a good reason to.
But if you'd like, you definitely can:
Prelude> :{
Prelude| instance Show (a -> b) where
Prelude| show _ = "A function."
Prelude| :}
Prelude> print (\x -> x + 7)
A function.
Prelude> print (\a b c -> a + b + c)
A function.
If you'd like to show the textual representation of the function, well - you can't do that. Unlike metaprogramming languages like Ruby, JS, etc, Haskell code very little knowledge of its own internals.