Re: Trouble with injective type families

2017-07-15 Thread gkaracha
etting there :) Cheers, George -- View this message in context: http://haskell.1045720.n5.nabble.com/Trouble-with-injective-type-families-tp5860108p5860731.html Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com. ___ G

Re: Trouble with injective type families

2017-07-06 Thread Anthony Clayden
ence can we use to cast False to 'a'. >> >> >> In short, fundeps and type family dependencies only add extra >> unification constraints, which may help to resolve ambiguous >> types. They don’t provide evidence. That's not to say that they >> couldn't. But you'

Re: Trouble with injective type families

2017-07-05 Thread Richard Eisenberg
t;> Again, what evidence can we use to cast False to 'a'. >> >> >> In short, fundeps and type family dependencies only add extra >> unification constraints, which may help to resolve ambiguous >> types. They don’t provide evidence. That's not to say that they

Re: Trouble with injective type families

2017-07-05 Thread Wolfgang Jeltsch
> > Simon > > > > > > -Original Message- > > From: Glasgow-haskell-users [mailto:glasgow-haskell-users- > > boun...@haskell.org] On Behalf Of Wolfgang Jeltsch > > Sent: 05 July 2017 01:21 > > To: glasgow-haskell-users@haskell.org > > S

RE: Trouble with injective type families

2017-07-05 Thread Simon Peyton Jones via Glasgow-haskell-users
rom: Glasgow-haskell-users [mailto:glasgow-haskell-users- | boun...@haskell.org] On Behalf Of Wolfgang Jeltsch | Sent: 05 July 2017 01:21 | To: glasgow-haskell-users@haskell.org | Subject: Trouble with injective type families | | Hi! | | Injective type families as supported by GHC 8.0.1 do n

Trouble with injective type families

2017-07-04 Thread Wolfgang Jeltsch
Hi! Injective type families as supported by GHC 8.0.1 do not behave like I would expect them to behave from my intuitive understanding. Let us consider the following example: > {-# LANGUAGE RankNTypes, TypeFamilyDependencies #-} > > class C a where > > type T a = b | b -> a > > instance