
22 Jul
2010
22 Jul
'10
7:16 a.m.
Ross Paterson schrieb:
is already an instance in mtl, and (+ e) is used as an example is just about every paper on monads.
Can you give a reference for "(+ e)"? Is this the (infix) union type constructor (to be written as :+)? If it corresponds to "Either e" should it not be written as "(+) e", because "(+ e)" interpreted like a haskell section would address the second type argument (which is not possible to address in instances)? data a :+ b = Left a | Right b instance Monad ((:+) e) Cheers Christian P.S. "instance Monad (:+ e)" gives a parse error