From cc8958f3d6c86939982650f4b2a739e51f025028 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Sat, 29 Sep 2007 07:15:27 +0200 Subject: Give Invisible a definition for fail. The default definition of fail calls error. This is very bad, as we rely on a non-bottom result. We should consider moving to MonadZero, to be on the safe side. darcs-hash:20070929051527-a5988-bef59af98860ac34ef05cc4ff5e1580835367eaa.gz --- Invisible.hs | 1 + 1 file changed, 1 insertion(+) (limited to 'Invisible.hs') diff --git a/Invisible.hs b/Invisible.hs index 5d040f7..8a5295c 100644 --- a/Invisible.hs +++ b/Invisible.hs @@ -33,6 +33,7 @@ instance Monad m => Show (Invisible m a) where instance (Functor m, Monad m) => Monad (Invisible m) where return a = I (return a) m >>= f = m >>= f + fail s = I (fail s) instance (Functor m, Monad m) => Functor (Invisible m) where fmap f (I x) = I (fmap f x) -- cgit v1.2.3