[Haskell-cafe] Haskell spec vs FlexibleInstances
karl at karlv.net
Fri Feb 28 01:32:07 UTC 2014
The spec doesn't allow multi-parameter type classes at all, so I don't see how you could run into this problem while writing extensionless Haskell.
I guess it's still a valid question whether the MultiParamTypeClasses extension should allow repeated type parameters.
On Feb 18, 2014, at 12:53 PM, AntC <anthony_clayden at clear.net.nz> wrote:
>> Doug McIlroy <doug <at> cs.dartmouth.edu> writes:
>> What potential evil motivates the prohibition of repeated type
>> parameters in an instance declaration?
> Hi Doug,
> I guess the first reason would be to catch accidental duplicate names of
> But as to "potential evils", the only point of such an instance:
> instance C a a where ...
> would be to have another instance:
> instance C a b where ...
> So we're into overlapping instances. (And discriminating on type equality -
> - which only works if the types are grounded. See the HList paper, section
> 9 'By chance or design?')
> Overlapping instances like that will probably need FunDeps. So the more
> recent (and probably more blessed) approach is to use the Closed type
> families/branched instances doo-hicky upcoming with GHC 7.8.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe