
20 Mar
2008
20 Mar
'08
10:10 a.m.
Hi, I am trying to understand how to define instances for Read class for a user defined type. This is the sample code I wrote, but I am not able to get it correctly. So, let me know what's wrong with this program: module Mark where data Mark = Mark Int deriving (Show) instance Read Mark where readsPrec _ str = [(Mark x, t') | ("mark",t) <- reads str, (x,t') <- reads t When I run it in ghci: *Mark> reads "mark 5" :: [ (Mark,String)] ( I am intentionally using mark in lowercase) [] Why is the output coming out as [] as against expected output [(Mark 5, "")] ? -Anurag