Hello,

The following code (coming from Vertigo), which compiles OK with ghc-6.4.2, is rejected by ghc in HEAD (from this week-end) :

data Range = Range String Float Float Float

class AsRange nrs ns | nrs -> ns where
 asRange :: nrs -> (ns, [Range])

instance (AsRange rsa nsa, AsRange rsb nsb)
  => AsRange (rsa, rsb) (nsa, nsb) where
 asRange (a, b) = ((nsa, nsb), rsa++rsb)
  where
   (nsa, rsa) = asRange a
   (nsb, rsb) = asRange b

produces:
   Illegal instance declaration for `AsRange (rsa, rsb) (nsa, nsb)'
(the Coverage Condition fails for one of the functional dependencies)
   In the instance declaration for `AsRange (rsa, rsb) (nsa, nsb)'

Is it normal ?

Thanks,
Alain
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to