RE: GHC 6.5 error? Illegal polymorphic or qualified type

2006-04-18 Thread Simon Peyton-Jones
This is a bug. I'm committing a fix as I type.

Thanks for boiling it down.

Simon

| -Original Message-
| From: [EMAIL PROTECTED]
[mailto:glasgow-haskell-users-
| [EMAIL PROTECTED] On Behalf Of Einar Karttunen
| Sent: 16 April 2006 13:57
| To: Rene de Visser
| Cc: glasgow-haskell-users@haskell.org
| Subject: Re: GHC 6.5 error? Illegal polymorphic or qualified type
| 
| Hello
| 
| Here is a short example of the GHC 6.5 problem:
| 
| type AnyE a = forall err. Either err a
| foo :: Monad m = AnyE (m t)
| foo = undefined
| 
| Works with older versions of GHC 6.5, but newer versions
| fail with the:
| 
| Illegal polymorphic or qualified type: forall err. Either err (m
t)
| In the type signature for `foo':
|   foo :: (Monad m) = AnyE (m t)
| 
| 
| - Einar Karttunen
| ___
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users@haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


GHC 6.5 error? Illegal polymorphic or qualified type

2006-04-16 Thread Rene de Visser

Hello,

I tried to compile HAppS using the latest GHC snapshot (in compiles fine 
with 6.41).


I for example get the error

/home/rene/repos/HAppS/src/HAppS/MACID/Var.hs:23:0:
   Illegal polymorphic or qualified type: forall state event.
   Ev state event (ref t)
   In the type signature for `newEmptyRef':
 newEmptyRef :: (Monoid t, Ref ref) = AnyEv (ref t)

Note that AnyEv is defined as

type AnyEv a = forall state event. Ev state event a

This should be OK shouldn't it? At least in works in 6.41 and everythis is 
quantified.


Exactly what does the error message Illegal polymorphic or qualified type 
mean?


Rene.


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: GHC 6.5 error? Illegal polymorphic or qualified type

2006-04-16 Thread Einar Karttunen
Hello

Here is a short example of the GHC 6.5 problem:

type AnyE a = forall err. Either err a
foo :: Monad m = AnyE (m t)
foo = undefined

Works with older versions of GHC 6.5, but newer versions
fail with the:

Illegal polymorphic or qualified type: forall err. Either err (m t)
In the type signature for `foo':
  foo :: (Monad m) = AnyE (m t)


- Einar Karttunen
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users