
Patrik Jansson wrote
[Typo - you mean:] head (readsPrec d (showsPrec d x "")) == (x,"")
Yes.
Both formulations look OK to me, but neither is an essential change and there are many other small variations possible with slight semantical differences. One example is
(x,"") `elem` readsPrec d (showsPrec d x "")
And already the current (proposed) formulation is most likely impossible to satisfy if the element x contains bottoms somewhere inside. (Example: try to show and read the string (undefined : "hello").)
True, but in any case it seems sensible to me to require that readsPrec should actually process the input string. With your proposal
| fst (head (readsPrec d (showsPrec d x ""))) == x
it would be possible to return [(42,"42")] for the expression readsPrec 0 (showsPrec 0 42 ""). Wolfgang -- Wolfgang Lux Phone: +49-251-83-38263 Institut fuer Wirtschaftinformatik FAX: +49-251-83-38259 Universitaet Muenster Email: wlux@uni-muenster.de