on master help sign in
Remove some proxies
commit3ff1a3f5ee9e5a557b93b8332a99bb706c9744eb authorIndex Int <vlad.z.4096@gmail.com> dateSun 7 Jun 2015, 03:05 (11 years ago) parent0cff774
2 files changed+6−6
src/Control/Monad/Ether/Reader.hs+4−4 test/Regression.hs+2−2
src/Control/Monad/Ether/Reader.hs+4−4
@@ -45,14 +45,14 @@ class MonadEther m => MonadEtherReader tag r m | m tag -> r where
4545
4646type MonadReader' r = MonadEtherReader r r
4747
48−local' :: MonadReader' r m => proxy r -> (r -> r) -> m a -> m a
49−local' = etherLocal
48+local' :: MonadReader' r m => (r -> r) -> m a -> m a
49+local' (f :: r -> r) = etherLocal (Proxy :: Proxy r) f
5050
5151ask' :: MonadReader' r m => proxy r -> m r
5252ask' = etherAsk
5353
54−reader' :: MonadReader' r m => proxy r -> (r -> a) -> m a
55−reader' = etherReader
54+reader' :: MonadReader' r m => (r -> a) -> m a
55+reader' (f :: r -> a) = etherReader (Proxy :: Proxy r) f
5656
5757instance {-# OVERLAPPING #-} (Monad m, EtherTagless tag m)
5858 => MonadEtherReader tag r (EtherReaderT tag r m) where
test/Regression.hs+2−2
@@ -61,7 +61,7 @@ layeredLocalCore' k f a1 a2 = (direct, indirect)
6161 indirect = layeredLocalCore (apply f) (\n m -> apply k (fromIntegral n, m))
6262
6363inferCore :: (MonadReader' Int m, MonadReader' Bool m) => m String
64−inferCore = infer local' (succ :: Int -> Int) $ do
64+inferCore = local' (succ :: Int -> Int) $ do
6565 n :: Int <- infer ask'
66− b <- infer local' not (infer ask')
66+ b <- local' not (infer ask')
6767 return (if b then "" else show n)