Koen Claessen wrote:

> Hello all,
>
> I believe the following program is valid Haskell'98:
>
> >>>
> module Main where
>
> data Hash = Hash{ (#) :: Int }
>  deriving (Show, Read)
>
> main =
>   do print s
>      print (read s :: Hash)
>  where
>   s = show (Hash 3)
> <<<
>
> The problem is the use of (#) as a field name.
>
> The expected output of the program is something like:
>
> >>>
> "Hash{(#)=3}"
> Hash{(#)=3}
> <<<
>
> Hugs98's, Hbc's and Ghc's derived read and show
> all choke on it though:

Obviously you must be wrong since all the implementations agree. :-)

Seriously, it is now fixed in hbc.

    -- Lennart




Reply via email to