Re: Fundeps and quantified constructors

2001-02-08 Thread anatoli
--- Tom Pledger <[EMAIL PROTECTED]> wrote: > anatoli writes: > : > | The same error message is given for > | > | > data Foo a = (Eq b) => MkFoo b > > Since the type variable a is orphaned, how about reducing it to this? > > > data Foo = forall b . Eq b => MkFoo b This is possible (the sem

Re: Fundeps and quantified constructors

2001-02-07 Thread Marcin 'Qrczak' Kowalczyk
Wed, 7 Feb 2001 01:32:38 -0800 (PST), anatoli <[EMAIL PROTECTED]> pisze: > > data Foo a = (Eq a) => MkFoo a What do you mean by this? What is the difference between that and data Foo a = MkFoo a except that the latter is more general? > The same error message is given for > > > data Foo a

Re: Fundeps and quantified constructors

2001-02-07 Thread anatoli
Hi everybody: I think I've found what's the problem. Still no solution in sight :( The problem has nothing to do with fundeps. Consider an example: > data Foo a = (Eq a) => MkFoo a This gives the same error message: type variable a is not locally bound. Apparently, 'a' in 'Eq a' hides 'a' in '

Re: Fundeps and quantified constructors

2001-02-06 Thread Tom Pledger
nubie nubie writes: | | --- Tom Pledger <[EMAIL PROTECTED]> wrote: | > That line of reasoning establishes that e is constrained on the right | > hand side of the "=". However, it's still bound (by an implicit | > "forall e") on the left hand side of the "=". The problem is that e | > can

Re: Fundeps and quantified constructors

2001-02-02 Thread nubie nubie
--- Tom Pledger <[EMAIL PROTECTED]> wrote: > That line of reasoning establishes that e is constrained on the right > hand side of the "=". However, it's still bound (by an implicit > "forall e") on the left hand side of the "=". The problem is that e > can leak details about c to parts of the p