
25 Dec
2007
25 Dec
'07
3:40 a.m.
On Mon, 24 Dec 2007, Cristian Baboi wrote:
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 ?
Like 'show' generating "[(0,0), (1,1), (4,2), (9,3), for 'sqrt', 'read' could parse only value tables.