[Haskell-cafe] Newclasses

Wvv vitea3v
Thu Oct 3 06:16:56 UTC 2013


> Your first two cases will be fixed in 7.10, as Applicative finally becomes
a superclass of Monad.

Sure, newclassses not about Applicative and Monads only. 
This question is more wider.

Must Apply be a superclass of Bind?
Must Bind be a superclass of Monad?
So, must Monad has 2 superclasses at once: Bind and Applicative?

Must Semigroupoids be a superclass of Category?
Must Category be a superclass of Arrow?


With newclasses we could write empty instances to provide correct functional
dependencies:
   instance ArrCategory MyArrow
   instance CatSemigroupoids MyCategory

   instance MBind MyMonad
   instance MApply MyMonad
   instance MApplicative MyMonad
   instance MFunctor MyMonad

> Also, I don't see why it would be a misfeature to have Eq as a superclass
> of Ord, or Functor as a superclass of Applicative.
I see 2 reasons:
1) class functions in reality don't depend of superclass functions
2) Haskell can't check if superclass instance is correspond with class laws





--
View this message in context: http://haskell.1045720.n5.nabble.com/Newclasses-tp5737596p5737625.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.




More information about the Haskell-Cafe mailing list