diff --git a/a4/src/APL/InterpIO.hs b/a4/src/APL/InterpIO.hs index d19e935..1ea0f89 100644 --- a/a4/src/APL/InterpIO.hs +++ b/a4/src/APL/InterpIO.hs @@ -93,11 +93,11 @@ runEvalIO evalm = do writeDB db dbState' runEvalIO' r db m Left e -> pure $ Left e - runEvalIO' r db (Free (TryCatchOp m1 m2)) = do - result <- runEvalIO' r db m1 + runEvalIO' r db (Free (TryCatchOp m l)) = do + result <- runEvalIO' r db m case result of Right x -> pure $ Right x - Left _ -> runEvalIO' r db m2 + Left _ -> runEvalIO' r db l runEvalIO' r db (Free (TransactionOp l m)) = do withTempDB transactionDB runEvalIO' r db m