From 42bb0059dc535948ce87b846611968c1c01ae049 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Tue, 19 Mar 2019 23:36:57 -0400
Subject: [PATCH] Remove fail from Monad instances

---
 tests/raytrace/Eval.hs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/raytrace/Eval.hs b/tests/raytrace/Eval.hs
index bd9d419..7d451e9 100644
--- a/tests/raytrace/Eval.hs
+++ b/tests/raytrace/Eval.hs
@@ -33,7 +33,6 @@ instance Applicative Pure where
 instance Monad Pure where
     Pure x >>= k = k x
     return       = pure
-    fail s       = error s
 
 instance MonadEval Pure where
   doOp   = doPureOp
@@ -306,7 +305,9 @@ instance Monad Abs where
 			           AbsState r s' -> runAbs (k r) s'
                                    AbsFail m     -> AbsFail m)
     return       = pure
-    fail s       = Abs (\ n -> AbsFail s)
+
+instance MonadFail Abs where
+    fail s = Abs (\ n -> AbsFail s)
 
 instance MonadEval Abs where
   doOp = doAbsOp
-- 
GitLab