[Haskell-beginners] Defining an Instance of Ord

Matt Williams matt.williams45.mw at gmail.com
Fri Jun 26 13:55:46 UTC 2015


Dear All,

I am trying to produce a Map, where the (tricky) idea is that the key is a
pair, (t1, t2), and the key is considered identical under ordering. Thus:

(t1, t2) is the same as (t2, t1) but
(t1, t3) is not the same as (t1,t2).

This LOOKS like a equality definition. However, the Map key typeclass is
defined as Ord, which requires me to define compare:

instance Ord Edge where
  (Edge s1 _) `compare` (Edge s2 _) = s1 `compare` s2

I am a bit stuck on how to use compare to define this type of eqlaity
- any pointers very gratefully received.

BW,

Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150626/97f7a8bd/attachment.html>


More information about the Beginners mailing list