Am Montag 11 Mai 2009 18:36:54 schrieb Christopher Lane Hinson:
> I've noticed that a large majority of fundeps I see in other people's
> libraries are written:
>
> class C a b | b -> a
>
> Where the dependent parameter appears first in the MPTC. Is there a
> reason for this?
Yes. Generalised newtype deriving (perhaps others, but that's what jumped at
me).
Consider
class MonadState s m | m -> s where ...
newtype State s a = State { runState :: s -> (a,s) }
instance Monad (State s) where ...
instance MonadState s (State s) where ...
newtype MySpecialState s a = MSS (State (s,Int) a)
deriving (Monad, MonadState (s,Int))
>
> AFAIK, there isn't any semantic significance to the order of parameters in
> an MPTC. Why do many haskellers find this configuration more intuitive?
>
> Friendly,
> --Lane
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe