[Haskell] Read Instances for Data.Map and Data.Set
Georg Martius
mai99dgf at studserv.uni-leipzig.de
Fri Oct 21 06:12:28 EDT 2005
Am Freitag, 21. Oktober 2005 11:22 schrieb Simon Marlow:
> On 21 October 2005 08:43, Johannes Waldmann wrote:
> > Georg made the point that if a type is an instance of Show,
> > then it should also be an instance of Read, and read . show == id
>
> I rather think that this should be an explicit design requirement for
> Read/Show instances in the libraries, along with the requirement that
> the Show instance outputs valid Haskell syntax that can be included in a
> program (assuming appropriate imports, and possibly an appropriate type
> signature). Show is not for pretty-printing, it is for serialising.
>
> Are there any Show instances that violate these requirements in the
> base/haskell98 packages currently?
AFAIK not, but the "new" Show instances of Data.Map and such like do not
follow this requirement, since they introduce new syntax like:
{ a := b,..} and < 1,2,3 > ...
Therefore I would suggest to change these instances to something like:
show $ Data.Map.fromList [(1,"Foo"),(2,"Bar")] =
"Data.Map.fromList [(1,\"Foo\"),(2,\"Bar\")]"
It uses the ordinary List syntax and the constructing function is given as
well.
Cheers,
Georg
>
> Cheers,
> Simon
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.haskell.org//pipermail/libraries/attachments/20051021/9ac9bfa9/attachment.bin
More information about the Libraries
mailing list