How to user-define a type equality constraint?

David Feuer david.feuer at gmail.com
Tue Apr 6 03:07:53 UTC 2021


`Char` is defined in user code. What you really can't define are Char# and
TYPE, and you can't modify `RuntimeRep`. Speaking of `Char#`, I see that in
9.0, at least, it has kind TYPE 'WordRep. Why is that not Word32Rep?

On Mon, Apr 5, 2021, 10:50 PM Richard Eisenberg <rae at richarde.dev> wrote:

>
>
> On Apr 1, 2021, at 8:12 PM, Anthony Clayden <anthony_clayden at clear.net.nz>
> wrote:
>
> Can I user-define a conventional type-class that behaves more like `(~)`?
>
>
> I don't think so.
>
> But why does this matter? I can't define `Char` in user code, but it's
> exported from the Prelude and requires no extensions. While I can define Eq
> in user code, I can't make `deriving` work with my version. I can't define
> `error` in user code. There are many others, I'm sure.
>
> So: why does this matter?
>
> Thanks,
> Richard
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/glasgow-haskell-users/attachments/20210405/d9459fca/attachment.html>


More information about the Glasgow-haskell-users mailing list