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 Glasgow-haskell-users
mailing list