inscrutable warning

Julian Seward (Intl Vendor) v-julsew@microsoft.com
Fri, 8 Feb 2002 05:54:44 -0800


The warning says that the interpreter has ignored a=20
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=20
   case ... of { DEFAULT -> ... }
but how it came to be, I do not know.

We may investigate further.

J

| Can someone explain the following warning?
|=20
| -------------------------------
| module Warning where
|=20
| type A =3D IO ()
|=20
| class CA t
|    where a :: t -> A
| instance CA ()
|    where a =3D return
| instance (CA t) =3D> CA (IO t)
|    where a =3D (>>=3D a)
|=20
| data B =3D B A
|=20
| class CB t
|    where b :: t -> B
| instance (CA t) =3D> CB (IO t)
|    where b =3D B . a
| -------------------------------
|=20
| % ghci Warning.hs
|    ___         ___ _
|   / _ \ /\  /\/ __(_)
|  / /_\// /_/ / /  | |      GHC Interactive, version 5.02.2,=20
| for Haskell
| 98.
| / /_\\/ __  / /___| |      http://www.haskell.org/ghc/
| \____/\/ /_/\____/|_|      Type :? for help.
|=20
| 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.
|=20
| Ok, modules loaded: Warning.
| Warning>
|=20
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users@haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
|=20