backward compatability for MonadFix ListT instance
authorRoss Paterson <ross@soi.city.ac.uk>
Sat, 2 Feb 2019 00:45:16 +0000 (00:45 +0000)
committerRoss Paterson <ross@soi.city.ac.uk>
Sat, 2 Feb 2019 00:45:16 +0000 (00:45 +0000)
Control/Monad/Trans/List.hs

index 3cde4ce..919898e 100644 (file)
@@ -145,8 +145,8 @@ instance (Monad m) => MonadPlus (ListT m) where
 
 instance (MonadFix m) => MonadFix (ListT m) where
     mfix f = ListT $ mfix (runListT . f . head) >>= \ xs -> case xs of
-        [] -> pure []
-        x:_ -> (x:) <$> (runListT . mfix) ((mapListT . fmap) tail . f)
+        [] -> return []
+        x:_ -> liftM (x:) (runListT (mfix (mapListT (fmap tail) . f)))
     {-# INLINE mfix #-}
 
 instance MonadTrans ListT where