[Haskell-cafe] A Generic Ordering over Types

Michael Sloan mgsloan at gmail.com
Sat Dec 28 22:28:28 UTC 2019


Cool approach!

cmptype does something similar, but requires a ghc plugin:
https://github.com/isovector/type-sets/tree/master/cmptype

I suppose one advantage of cmptype is that it can work with types that
cannot derive Generic, such as GADTs.

-Michael

On Sat, Dec 28, 2019 at 3:23 AM Justin Paston-Cooper <
paston.cooper at gmail.com> wrote:

> Hello,
>
> I've defined a module which defines a Data.Type.Ordering over types
> which are instances of Generic:
>
> https://github.com/jpcooper/generic-type-ordering/blob/master/src/Data/Type/Ordering.hs
> .
> I was considering submitting it to Hackage if anyone finds this
> useful.
>
> I am using it in conjunction with Data.Type.Set (type-level-sets),
> which requires an ordering over the used types.
>
> The ordering works by first comparing the package, then the module,
> then the type name. I take it that the ordering as defined is correct
> over all types which are an instance of Generic.
>
> I wanted to check first whether this is done anywhere else, or in a
> different, better way. Can anyone advise?
>
> Cheers,
>
> Justin
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20191228/bbd9730e/attachment.html>


More information about the Haskell-Cafe mailing list