Patch for newer GHCs

This commit is contained in:
Chris Done 2020-02-24 16:19:20 +00:00
parent f58e0f537c
commit 959d40db68
2 changed files with 9 additions and 4 deletions

View File

@ -47,9 +47,14 @@ newtype Supply s a = Supply (SupplyT s Identity a)
deriving (Functor, Applicative, Monad, MonadSupply s, MonadFix)
instance Monad m => MonadSupply s (SupplyT s m) where
supply = SupplyT $ do (x:xs) <- get
put xs
return x
supply =
SupplyT $ do
result <- get
case result of
(x:xs) -> do
put xs
return x
_ -> error "Exhausted supply in Control.Monad.Supply.hs"
peek = SupplyT $ gets head
exhausted = SupplyT $ gets null

View File

@ -901,7 +901,7 @@ inferExpressionType ce as (ApplicationExpression l e f) = do
let scheme = (Forall [] (Qualified (ps++qs) t))
return (ps ++ qs, t, ApplicationExpression (TypeSignature l scheme) e' f')
inferExpressionType ce as (InfixExpression l x (i,op) y) = do
(ps, ts, ApplicationExpression l' (ApplicationExpression _ (op') x') y') <-
(ps, ts, ~(ApplicationExpression l' (ApplicationExpression _ (op') x') y')) <-
inferExpressionType
ce
as