On Wed, Jan 18, 2006 at 04:28:25PM -0500, Lajos Nagy wrote:
> I tried to create a set of records using Data.Set but it turns out that 
> Rec doesn't implement Ord.  Is there a nice solution or you need a new 
> builtin function to do the trick?
> 
> Sample code:
> 
> Main> Data.Set.mkSet [(a="apple"), (a="peach")]
> ERROR - Unresolved overloading
> *** Type       : Ord (Rec (a :: [Char])) => Set (Rec (a :: [Char]))
> *** Expression : mkSet [(a = "apple"),(a = "peach")]
> 
> If a new builtin is needed, any pointers where to start?

A new builtin is needed.  Eq and Show are implemented using eqRecRow and
showRecRow in Hugs.Trex, which are picked up in trexLoad() and used in
primRecEq and primRecShw.  See also addRecEqInst() and addRecShowInst().
Ord would need something similar.

First you'd have to decide what it should mean.

_______________________________________________
Hugs-Users mailing list
Hugs-Users@haskell.org
http://www.haskell.org/mailman/listinfo/hugs-users

Reply via email to