[Haskell-cafe] Printing and Referential transparency excuse
lemming at henning-thielemann.de
Tue Dec 25 03:40:19 EST 2007
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.
More information about the Haskell-Cafe