[Haskell-cafe] Proposal: Instance apartness guards

Anthony Clayden anthony_clayden at clear.net.nz
Sat Jun 24 00:44:30 UTC 2017


After years of pondering this idea (in various forms), 
and several rounds of discussion on several forums, 
I've written it up.

"This proposal tackles the thorny topic of Overlapping
instances,
 for both type classes and Type Families/Associated types,
 by annotating instance heads with type-level apartness
Guards.
 Type-level disequality predicates appear in Sulzmann &
Stuckey 2002;
 in the type-level ‘case selection’ in HList 2004;
 and in various guises in Haskell cafe discussions in
following years.
 This proposal builds on the apartness testing implemented
 as part of the Closed Type Families work."

All feedback welcome.

https://github.com/AntC2/ghc-proposals/blob/instance-apartness-guards/proposals/0000-instance-apartness-guards.rst

AntC


More information about the Haskell-Cafe mailing list