The warning says that the interpreter has ignored a 
polymorphic case, since it's hard to implement.  Your program
should still behave the same, although possibly less strictly
than you intended.

What really mystifies us is why there is such a thing in the
program in the first place.  Using -ddump-sat we can see that
there is indeed a 
   case ... of { DEFAULT -> ... }
but how it came to be, I do not know.

We may investigate further.

J

| Can someone explain the following warning?
| 
| -------------------------------
| module Warning where
| 
| type A = IO ()
| 
| class CA t
|    where a :: t -> A
| instance CA ()
|    where a = return
| instance (CA t) => CA (IO t)
|    where a = (>>= a)
| 
| data B = B A
| 
| class CB t
|    where b :: t -> B
| instance (CA t) => CB (IO t)
|    where b = B . a
| -------------------------------
| 
| % ghci Warning.hs
|    ___         ___ _
|   / _ \ /\  /\/ __(_)
|  / /_\// /_/ / /  | |      GHC Interactive, version 5.02.2, 
| for Haskell
| 98.
| / /_\\/ __  / /___| |      http://www.haskell.org/ghc/
| \____/\/ /_/\____/|_|      Type :? for help.
| 
| Loading package std ... linking ... done.
| Compiling Warning          ( Warning.hs, interpreted )
| WARNING: ignoring polymorphic case in interpreted mode.
|    Possibly due to strict polymorphic/functional constructor args.
|    Your program may leak space unexpectedly.
| 
| Ok, modules loaded: Warning.
| Warning>
| 
| _______________________________________________
| Glasgow-haskell-users mailing list
| [EMAIL PROTECTED]
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
| 
_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to