haskell-ja > Archives > 2012/11/04p.328のその箇所を、
eval (Div t u) =
do x <- eval t
y <- eval u
if (y == 0
or x == raise "-"
or y == raise "-")
then raise "division by zero"
else return (x div y)
として,instance宣言の(Raise e) >>= Raise e を書かないのでもいいんでしょうか?
現プログラムは私にはやっぱり少し理解しにくいので。instance Monad Exc の宣言自体は書くのですが、 その中の(Raise e) >>= q = Raise e を書かずに (あるいは書いても),eval(Div t u) のdo記述 部を上のように書くのではダメなのでしょうか?