
24 Dec
2007
24 Dec
'07
4:15 a.m.
While reading the Haskell language report I noticed that function type is not an instance of class Read. I was told that one cannot define them as an instance of class Show without breaking "referential transparency" or printing a constant. f :: (a->b)->String f x = "bla bla bla" How can I define a function to do the inverse operation ? g :: String -> ( a -> b ) This time I cannot see how referential transparency will deny it. What's the excuse now ? I'm at the begining of chapter 7, but I have the feeling I'll not find the answer in there. Thank you.