Constr and Eq

Ralf Lammel Ralf.Lammel at microsoft.com
Thu Dec 29 14:29:05 EST 2005


As of today, this is done so to be efficient.
You can easily compare the data types of the constructors to further
constrain equivalence, when this is necessary, while the base check only
compares an Integer value for the constructors.
Ralf


> -----Original Message-----
> From: glasgow-haskell-bugs-bounces at haskell.org
> [mailto:glasgow-haskell- bugs-bounces at haskell.org] On Behalf Of 
> Frederik Eaton
> Sent: Thursday, December 29, 2005 10:57 AM
> To: glasgow-haskell-bugs at haskell.org
> Subject: Constr and Eq
> 
> > toConstr True
> True
> > toConstr [()]
> (:)
> > toConstr True == toConstr [()]
> True
> > show (toConstr True) == show (toConstr [()])
> False
> 
> I don't understand the utility of Constr's Eq definition. It isn't 
> really documented though. Why return True when the constructors being 
> compared are different? Am I supposed to use (show.toConstr) to 
> compare constructors?
> 
> Here is the documentation I could find:
> 
> data Constr
> Representation of constructors
> Instances
> Show Constr
> Eq Constr
> 
> This is ghc 6.4.1.
> 
> Thanks,
> 
> Frederik
> _______________________________________________
> Glasgow-haskell-bugs mailing list
> Glasgow-haskell-bugs at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs





More information about the Glasgow-haskell-bugs mailing list