On Wed, Jan 10, 2007 at 09:47:04PM -0000, Claus Reinke wrote:
Bjorn Bringert wrote:
The bottom line is that the instance:
instance (MonadTrans t, MonadCGI m, Monad (t m)) => MonadCGI (t m) where
needs both overlapping and undecidable instances, doesn't work in Hugs, and probably won't be Haskell'-compatible.
but overlapping instances were also pioneered in Hugs!-)
there are differences, eg, in how FDs combine with overlaps, or how scoped type variables in instances are interpreted, but Hugs has both unlimited and overlapping instances.
Yes, Hugs accepts this one with +o. Hugs does have additional restrictions on overlapping instances that GHC defers to their point of use, but this particular case is OK, because one of the overlapping instances is a substitution instance of the other.