From 79abc9ea961d6e921e51187971b87cd0939be11b Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Thu, 29 Aug 2019 19:39:47 -0400 Subject: [PATCH] fmap is more constrained than liftM Therefore this approach is preferable --- src/PaymentServer/Persistence.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs index 4163cad..eea14b4 100644 --- a/src/PaymentServer/Persistence.hs +++ b/src/PaymentServer/Persistence.hs @@ -82,8 +82,8 @@ instance VoucherDatabase MemoryVoucherDatabase where return () redeemVoucher Memory{ paid = paid, redeemed = redeemed } voucher fingerprint = do - unpaid <- (liftM $ Set.notMember voucher) . readIORef $ paid - existingFingerprint <- (liftM $ Map.lookup voucher) . readIORef $ redeemed + unpaid <- Set.notMember voucher <$> readIORef paid + existingFingerprint <- Map.lookup voucher <$> readIORef redeemed case (unpaid, existingFingerprint) of (True, _) -> return $ Left NotPaid -- GitLab