Equality Constraints (a ~ b)

Edward Kmett ekmett at gmail.com
Mon Jan 12 00:16:32 UTC 2015

They were introduced as part of the System Fc rewrite.

The Fc approach has the benefit of unifying a lot of the work on GADTs,
functional dependencies, type and data families, etc. all behind the scenes.

Every once in a while, (~) constraints can leak into the surface language
and it can be useful to be able to talk about them in the surface language
of Haskell, because otherwise it isn't clear how to talk about F a ~ G b
style constraints, which arise in practice when you work with type families.


On Sun, Jan 11, 2015 at 6:04 PM, Dominic Steinitz <dominic at steinitz.org>

> Hi,
> I am trying to find more background on these. They don’t exist in the
> Haskell 2010 Language Report, they didn’t exist in ghc 6.8.2 but make an
> appearance in 7.0.1. The documentation in the manual is rather sparse and
> doesn’t contain a reference:
> https://downloads.haskell.org/~ghc/latest/docs/users_guide.pdf section
> 7.11. Folk on #ghc referred me to
> http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/. I
> can find papers that refer to ~ in F_C (aka FC?) but as far as I can tell
> not in the Haskell language itself.
> Many thanks
> Dominic Steinitz
> dominic at steinitz.org
> http://idontgetoutmuch.wordpress.com
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20150111/d8fb9073/attachment.html>

More information about the Glasgow-haskell-users mailing list