| | > type State = Term a => [a]
| | > data M a = M (State -> IO(State,a))
| |
| | GHC yields a error message "Illegal polymorphic type".
| | How to resolve this?
I can tell you what it happening. If you have -fglasgow-exts on, the
type
for State is short for
type State = forall a. Term a => [a]
And then you can't use that polymorphic type in the argument of a tuple,
as you are doing in the next line.
Without -fglasgow-exts (i.e. in Haskell 98) the first line is plain
illegal: 'a' is not in scope. But GHC may not produce as perspicuous a
message as it should for that.
Simon
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell