Hi,

I've reading Control.Monad.Reader source code and
arrived here:

class (Monad m) => MonadReader r m | m -> r where

I can't understand that syntax. Since this is not a
'data' line, what is the '|' supposed mean?

It's called a "functional dependency". This is not part of the Haskell-98 language standard; check the GHC manual.

The documentation says "There should be more documentation, but there isn't (yet). Yell if you need it." :)

But I think I was able to understand everything from
the examples.

Thanks.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to