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 ?

The new excuse is that a better name for  g  is

  full-fledged-compiler :: String -> (Int -> Int)

(the function returned by g better not have a polymorphic type). Which programming language should the argument String be written in?


Regards
apfelmus

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to